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.

Aiheeseen liittyvät artikkelit