Kry 'n HTTP-URL deur 'n proxy met PHP file_get_contents
Stel PHP se HTTP-stroomomslag vir 'n vorentoe-proxy op, insluitend versoekformatering en die beperkings van stroomkontekste.
Vir 'n gewone HTTP-versoek sonder PHP cURL, gee 'n proxykonteks aan die HTTP-stroomomslag:
$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);Vervang die dokumentasie-eindpunt met jou HTTP-proxy of 'n kandidaat uit die HTTP-proxylis. HTTP-kontekskoppelvlak verwag 'n TCP-adres vir proxy. request_fulluri=true plaas die volledige bestemming-URI in die versoekreël, soos baie vorentoe-proxies vereis. Die tydsperdatum beperk die stroombewerking onder daardie omslag se reëls.
Kontroleer die teruggekeerde waarde en waarskuwing voordat jy die liggaam ontleed; 'n mislukte lesing en 'n leë suksesvolle antwoord vereis verskillende hantering. Begin diagnose met hierdie enkele HTTP-bestemming en begrensde versoek. HTTPS voeg tonneling en TLS-gedrag by wat vir die werklike omslag/PHP-weergawe nagegaan moet word; hierdie voorbeeld vestig nie daardie vermoëns nie.
Om die konteks by hierdie oproep te gee, hou die roete sigbaar en vermy dit om onverwante URL-lesings te verander. 'n Gedeelde verstekkonteks is slegs gepas wanneer die toepassing daardie beleid doelbewus wil hê; biblioteke moet die wyer omvang daarvan in ag neem.
Dit stel PHP-strome op, nie 'n onafhanklik geskepte cURL-handvatsel, 'n blaaier of 'n ander proses nie. Identifiseer 'n pakket se werklike HTTP-vervoer voordat jy verwag dat dit hierdie konteks sal gebruik.