HTTP URL iegūšana caur starpniekserveri ar PHP file_get_contents
Konfigurējiet PHP HTTP straumes ietvaru pāradresējošam starpniekserverim, tostarp pieprasījuma formatējumu un straumes kontekstu ierobežojumus.
Parastam HTTP pieprasījumam bez PHP cURL nododiet starpniekservera kontekstu HTTP straumes ietvaram:
$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);
Aizstājiet dokumentācijas galapunktu ar savu HTTP starpniekserveri vai kandidātu no HTTP starpniekserveru saraksta. HTTP konteksta saskarne gaida TCP adresi parametram proxy. request_fulluri=trueievieto pilnu mērķa URI pieprasījuma rindā, kā to pieprasa daudzi pāradresējošie starpniekserveri. Taimauts ierobežo straumes darbību saskaņā ar šī ietvara noteikumiem.
Pirms satura analīzes pārbaudiet atgriezto vērtību un brīdinājumu; neizdevusies lasīšana un tukša veiksmīga atbilde prasa atšķirīgu apstrādi. Sāciet diagnostiku ar šo vienu HTTP mērķi un ierobežotu pieprasījumu. HTTPS pievieno tunelēšanu un TLS uzvedību, kas jāpārbauda konkrētajai ietvara un PHP versijai; šis piemērs šīs iespējas neapstiprina.
Konteksta nodošana šajā izsaukumā saglabā maršrutu redzamu un izvairās no nesaistītu URL lasījumu maiņas. Koplietots noklusējuma konteksts ir piemērots tikai tad, ja lietojumprogramma apzināti vēlas šo politiku; bibliotēkām jāņem vērā tā plašākais tvērums.
Tas konfigurē PHP straumes, nevis patstāvīgi izveidotu cURL rokturi, pārlūku vai citu procesu. Nosakiet pakotnes faktisko HTTP transportu, pirms gaidāt, ka tā izmantos šo kontekstu.