For ein vanleg HTTP-førespurnad utan PHP cURL, send ein proxykontekst til HTTP-straumeinnpakninga:

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

Bytt ut dokumentasjonsendepunktet med din HTTP-proxy eller ein kandidat frå lista over HTTP-proxyar. HTTP-kontekstgrensesnittet ventar ei TCP-adresse for proxy. request_fulluri=trueset heile mål-URI-en i førespurnadslinja, slik mange videresendande proxyar krev. Tidsavbrotet avgrensar straumoperasjonen etter reglane til den innpakninga.

Kontroller returverdien og åtvaringa før du analyserer kroppen; ei mislukka lesing og eit tomt vellukka svar krev ulik handsaming. Start feilsøkinga med denne eine HTTP-destinasjonen og ein avgrensa førespurnad. HTTPS legg til tunnellering og TLS-åtferd som må kontrollerast for den faktiske innpaknings- og PHP-versjonen; dette dømet stadfester ikkje desse eigenskapane.

Å senda konteksten i dette kallet held ruta synleg og unngår å endra urelaterte URL-lesingar. Ein delt standardkontekst er berre høveleg når applikasjonen med vilje vil ha den politikken; bibliotek bør ta høgd for det vidare omfanget.

Dette set opp PHP-straumar, ikkje eit sjølvstendig oppretta cURL-handtak, ein nettlesar eller ein annan prosess. Identifiser den faktiske HTTP-transporten til ein pakke før du ventar at han brukar denne konteksten.

Relaterte artiklar