Til en almindelig HTTP-anmodning uden PHP cURL sendes en proxykontekst til HTTP-streamomsholderen:

$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);

Erstat dokumentationsslutpunktet med din HTTP-proxy eller en kandidat fra HTTP-proxylisten. HTTP-kontekstgrænsefladen forventer en TCP-adresse til proxy. request_fulluri=true sætter hele destinations-URI'en i anmodningslinjen, som mange videresendende proxyer kræver. Timeout begrænser stream-handlingen efter den omsholders regler.

Kontroller den returnerede værdi og advarslen, før du analyserer brødteksten; en mislykket læsning og et tomt vellykket svar kræver forskellig håndtering. Start fejlsøgningen med denne ene HTTP-destination og begrænsede anmodning. HTTPS tilføjer tunneling og TLS-adfærd, som skal kontrolleres for den faktiske omsholder/PHP-version; dette eksempel fastslår ikke disse egenskaber.

At sende konteksten ved dette kald holder ruten synlig og undgår at ændre urelaterede URL-læsninger. En delt standardkontekst er kun passende, når applikationen bevidst ønsker den politik; biblioteker bør tage højde for dens bredere omfang.

Dette konfigurerer PHP-streams, ikke et selvstændigt oprettet cURL-håndtag, en browser eller en anden proces. Identificer en pakkes faktiske HTTP-transport, før du forventer, at den bruger denne kontekst.

Relaterede artikler