Guzzle eskaera baterako proxy IPa ezartzea
Erabili Guzzleren eskaerako proxy aukera, eta ulertu kudeatzailearen araberako konexio-denbora muga eta bazterketa-zerrenda esplizitua.
Guzzleren proxy aukerak amaiera-puntuaren URL osoa onartzen du. Ezarri eskaeran, eragiketa horrek bakarrik aukeratutako IPa erabili behar duenean.
<?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();
Adibideak Guzzle 7 Composer bidez instalatuta dagoela suposatzen du. Ordeztu dokumentazioko helbidea hornitzailearen benetako HTTP proxy batekin edo HTTP proxyen zerrendako batekin. Helburua eskaeraren URLan mantendu: proxya bitartekaria da, ez deskargatzen den baliabidea.
Hemen http_errors false da, HTTP errore-erantzuna aztertzeko erabilgarri gera dadin. Konexio-hutsegiteek transferentzia-salbuespenak jaurtitzen dituzte oraindik. Beraz, ezartzean baztertutako HTTPS tunelak huts egin dezake webgunearen ohiko erantzun-objektua jaso aurretik.
Egiaztatu kudeatzailea konexio-mugek bestela jokatzen badute
Guzzlek HTTP kudeatzaile desberdinak erabil ditzake. Dokumentazioak dio barneko cURL kudeatzaileak connect_timeout onartzen duela. Kudeatzaile pertsonalizatua edo PHP cURL gabeko ingurunea ez da nahitaez baliokidea. Egiaztatu aplikazioaren kudeatzailea kopiatutako denbora-muga aukera eraginkorra dela suposatu aurretik.
timeout orokorra ere ezartzea merezi du. Doako zerrendetako sarrerek egiaztapenen artean erantzuteari utz diezaiokete, eta balio lehenetsia ez da epe erabilgarria azkar amaitu beharreko eskaerarako.
Proxy-mapa erabiltzea
Mapak helburuaren eskemaren arabera bideak aukeratzen eta proxya saihestuko duten ostalariak esplizituki ematen uzten du:
'proxy' => [
'http' => 'http://203.0.113.10:8080',
'https' => 'http://203.0.113.10:8080',
'no' => [],
],
Erabili array hau kate-aukeraren ordez. HTTPS gakoak HTTPS helburuak aukeratzen ditu; bere HTTP balioak proxyaren entzulea deskribatzen du oraindik. Beste entzute-protokolo batek amaiera-puntuaren beste konfigurazio bat behar du.
Eskaeraren proxy aukera zeuk ematen duzunean, Guzzlek nahi dituzun no balioak ere zuk ematea espero du, NO_PROXY aldagaitik automatikoki kopiatu ordez. Zerrenda hutsa erabilgarria da proxy-proba isolaturako. Aplikazioak nahita ezarritako saiheste-arauak baditu, gorde esplizituki.