Hent en HTTP-URL gjennom en proxy med PHP file_get_contents
Konfigurer PHPs HTTP-strømomslag for en videresendende proxy, inkludert formatering av forespørselen og grensene for strømkontekster.
For en vanlig HTTP-forespørsel uten PHP cURL, send en proxykontekst til HTTP-strømomslaget:
$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);
Erstatt dokumentasjonsendepunktet med din HTTP-proxy eller en kandidat fra listen over HTTP-proxyer. HTTP-kontekstgrensesnittet forventer en TCP-adresse for proxy. request_fulluri=truesetter hele mål-URI-en i forespørselslinjen, slik mange videresendende proxyer krever. Tidsavbruddet begrenser strømoperasjonen etter reglene til det omslaget.
Kontroller returverdien og advarselen før du analyserer kroppen; en mislykket lesing og et tomt vellykket svar krever ulik håndtering. Start feilsøkingen med denne ene HTTP-destinasjonen og en avgrenset forespørsel. HTTPS legger til tunneling og TLS-atferd som må kontrolleres for den faktiske omslags- og PHP-versjonen; dette eksempelet etablerer ikke disse egenskapene.
Å sende konteksten i dette kallet holder ruten synlig og unngår å endre urelaterte URL-lesinger. En delt standardkontekst er bare passende når applikasjonen bevisst ønsker den policyen; biblioteker bør ta høyde for det bredere omfanget.
Dette konfigurerer PHP-strømmer, ikke et uavhengig opprettet cURL-håndtak, en nettleser eller en annen prosess. Identifiser den faktiske HTTP-transporten til en pakke før du forventer at den bruker denne konteksten.