Za običan HTTP zahtjev bez PHP cURL-a, proslijedite proxy kontekst HTTP stream wrapperu:

$context = stream_context_create([
    'http' => [
        'proxy' => 'tcp://203.0.113.10:8080',
        'request_fulluri' => true,
        'timeout' => 10,
    ],
]);
$body = file_get_contents('http://example.com/', false, $context);

Zamijenite dokumentacijsku krajnju točku svojim HTTP proxyjem ili kandidatom sa liste HTTP proxyja. HTTP kontekstno sučelje očekuje TCP adresu za proxy. request_fulluri=true stavlja cijeli odredišni URI u red zahtjeva, kako zahtijevaju mnogi forward proxyji. Tajm-aut ograničava stream operaciju prema pravilima tog wrappera.

Provjerite vraćenu vrijednost i upozorenje prije parsiranja tijela; neuspješno čitanje i prazan uspješan odgovor zahtijevaju različito rukovanje. Započnite dijagnostiku s ovim jednim HTTP odredištem i ograničenim zahtjevom. HTTPS dodaje tuneliranje i TLS ponašanje koje treba provjeriti za stvarnu verziju wrappera/PHP-a; ovaj primjer ne uspostavlja te mogućnosti.

Prosljeđivanje konteksta na ovom pozivu drži rutu vidljivom i izbjegava mijenjanje nepovezanih čitanja URL-a. Zajednički zadani kontekst prikladan je samo kada aplikacija namjerno želi tu politiku; biblioteke trebaju uzeti u obzir njegov širi obuhvat.

Ovo konfigurira PHP streamove, a ne samostalno stvoreni cURL handle, preglednik ili drugi proces. Identificirajte stvarni HTTP transport paketa prije nego što očekujete da će koristiti ovaj kontekst.

Povezani članci