HTTP URL gavimas per tarpinį serverį naudojant PHP file_get_contents
Sukonfigūruokite PHP HTTP srauto apvalkalą tiesioginiam tarpiniam serveriui, įskaitant užklausos formatavimą ir srauto kontekstų apribojimus.
Įprastai HTTP užklausai be PHP cURL perduokite tarpinio serverio kontekstą HTTP srauto apvalkalui:
$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);
Pakeiskite dokumentacijos galinį tašką savo HTTP tarpiniu serveriu arba kandidatu iš HTTP tarpinių serverių sąrašo. HTTP konteksto sąsaja tikisi TCP adreso, skirto proxy. request_fulluri=trueįrašo visą paskirties URI į užklausos eilutę, kaip reikalauja daugelis tiesioginių tarpinių serverių. Skirtasis laikas riboja srauto operaciją pagal to apvalkalo taisykles.
Prieš analizuodami turinį patikrinkite grąžintą reikšmę ir įspėjimą; nepavykęs skaitymas ir tuščias sėkmingas atsakymas reikalauja skirtingo apdorojimo. Pradėkite diagnostiką nuo šios vienos HTTP paskirties ir apribotos užklausos. HTTPS prideda tuneliavimą ir TLS elgseną, kurią reikia patikrinti konkrečiai apvalkalo ir PHP versijai; šis pavyzdys tų galimybių neįrodo.
Konteksto perdavimas šiame iškvietime palieka maršrutą matomą ir išvengia nesusijusių URL skaitymų keitimo. Bendras numatytasis kontekstas tinka tik tada, kai programa sąmoningai nori šios politikos; bibliotekos turėtų atsižvelgti į platesnę jo apimtį.
Tai konfigūruoja PHP srautus, o ne savarankiškai sukurtą cURL apdorojimo objektą, naršyklę ar kitą procesą. Nustatykite tikrąjį paketo HTTP transportą prieš tikėdamiesi, kad jis naudos šį kontekstą.