HTTP-URLin noutaminen välityspalvelimen kautta PHP file_get_contents -funktiolla
Määritä PHP:n HTTP-virtakääre edestäpäin toimivalle välityspalvelimelle, mukaan lukien pyynnön muotoilu ja virtakontekstien rajoitukset.
Tavallista HTTP-pyyntöä varten ilman PHP cURLia välitä välityspalvelinkonteksti HTTP-virtakääreelle:
$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);
Korvaa dokumentaation päätepiste omalla HTTP-välityspalvelimellasi tai HTTP-välityspalvelinluettelon ehdokkaalla. HTTP-kontekstin rajapinta odottaa TCP-osoitetta parametrille proxy. request_fulluri=truesijoittaa täyden kohde-URI:n pyyntöriville, kuten monet edestäpäin toimivat välityspalvelimet edellyttävät. Aikakatkaisu rajoittaa virtaoperaatiota kyseisen kääreen sääntöjen mukaisesti.
Tarkista palautettu arvo ja varoitus ennen rungon jäsentämistä; epäonnistunut luku ja tyhjä onnistunut vastaus vaativat erilaisen käsittelyn. Aloita vianmääritys tällä yhdellä HTTP-kohteella ja rajatulla pyynnöllä. HTTPS lisää tunnelointia ja TLS-käyttäytymistä, jotka on tarkistettava kyseiselle kääreelle ja PHP-versiolle; tämä esimerkki ei todista näitä ominaisuuksia.
Kontekstin välittäminen tässä kutsussa pitää reitin näkyvänä ja välttää muiden URL-lukujen muuttamisen. Jaettu oletuskonteksti on sopiva vain, kun sovellus haluaa tätä käytäntöä tarkoituksella; kirjastojen tulisi ottaa huomioon sen laajempi ulottuvuus.
Tämä määrittää PHP-virtoja, ei itsenäisesti luotua cURL-kahvaa, selainta tai muuta prosessia. Selvitä paketin todellinen HTTP-siirto ennen kuin odotat sen käyttävän tätä kontekstia.