L-għażla proxy ta’ Guzzle taċċetta URL sħiħ tal-punt tat-tmiem. Issettjaha fuq it-talba meta dik l-operazzjoni biss għandha tuża l-IP magħżul.

<?php
require __DIR__ . '/vendor/autoload.php';

$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://example.com/', [
    'proxy' => 'http://203.0.113.10:8080',
    'connect_timeout' => 5,
    'timeout' => 15,
    'http_errors' => false,
]);

echo $response->getStatusCode(), PHP_EOL;
echo (string) $response->getBody();

L-eżempju jassumi Guzzle 7 installat permezz ta’ Composer. Ibdel l-indirizz tad-dokumentazzjoni bi proxy HTTP reali mill-fornitur jew mil-lista ta’ proxies HTTP. Żomm id-destinazzjoni fil-URL tat-talba: il-proxy huwa intermedjarju, mhux ir-riżorsa li titniżżel.

Hawn http_errors huwa false biex risposta ta’ żball HTTP tibqa’ disponibbli għall-ispezzjoni. Fallimenti tal-konnessjoni xorta jitfgħu eċċezzjonijiet ta’ trasferiment. Mina HTTPS irrifjutata waqt l-istabbiliment tista’ għalhekk tfalli qabel tirċievi oġġett ta’ risposta ordinarja mis-sit.

Iċċekkja l-handler meta l-limiti tal-konnessjoni jġibu ruħhom differenti

Guzzle jista’ juża handlers HTTP differenti. Id-dokumentazzjoni tgħid li l-handler cURL integrat jappoġġa connect_timeout. Handler personalizzat jew ambjent mingħajr PHP cURL mhux bilfors ekwivalenti. Iċċekkja l-handler tal-applikazzjoni qabel tassumi li għażla ta’ timeout ikkopjata qiegħda taħdem.

Ta’ min jistabbilixxi wkoll il-timeout totali. Entrati minn listi b’xejn jistgħu jieqfu jwieġbu bejn il-verifiki, u l-valur awtomatiku mhuwiex skadenza utli għal talba li trid tintemm malajr.

Użu ta’ mappa ta’ proxies

Mappa tħallik tagħżel rotot skont l-iskema tad-destinazzjoni u tagħti hosts ta’ bypass b’mod espliċitu:

'proxy' => [
    'http' => 'http://203.0.113.10:8080',
    'https' => 'http://203.0.113.10:8080',
    'no' => [],
],

Uża dan l-array minflok l-għażla ta’ string. Iċ-ċavetta HTTPS tagħżel destinazzjonijiet HTTPS; il-valur HTTP tagħha xorta jiddeskrivi l-listener tal-proxy. Protokoll differenti tal-listener jeħtieġ konfigurazzjoni differenti tal-punt tat-tmiem.

Meta tagħti l-għażla proxy tat-talba int stess, Guzzle jistenna li tagħti wkoll il-valuri no maħsuba minflok jikkopjahom awtomatikament minn NO_PROXY. Lista vojta hija utli għal test tal-proxy iżolat. Jekk l-applikazzjoni għandha regoli intenzjonati ta’ bypass, żommhom espliċitament.

Artikli relatati