Guzzle seng Optioun proxy akzeptéiert eng komplett Endpunkt-URL. Setzt se op der Ufro, wann nëmmen dës Operatioun déi gewielten IP benotze soll.

<?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();

D’Beispill setzt viraus, datt Guzzle 7 iwwer Composer installéiert ass. Ersetzt d’Dokumentatiounsadress duerch e richtegen HTTP-Proxy vum Ubidder oder aus der Lëscht vun HTTP-Proxye. Halt d’Zil an der Ufro-URL: de Proxy ass e Mëttler, net d’Ressource déi erofgeluede gëtt.

Hei ass http_errors false, fir datt eng HTTP-Feeleräntwert weider ënnersicht ka ginn. Verbindungsfeeler werfen nach ëmmer Transfer-Exceptiounen. En HTTPS-Tunnel, deen beim Opbau ofgeleent gëtt, kann dofir net opgebaut ginn, ier Dir en normalen Äntwertobjet vun der Websäit kritt.

Kontrolléiert den Handler, wa Verbindungsgrenzen anescht funktionéieren

Guzzle ka verschidden HTTP-Handler benotzen. D’Dokumentatioun seet, datt den agebaute cURL-Handler connect_timeout ënnerstëtzt. En eegenen Handler oder en Ëmfeld ouni PHP cURL ass net onbedéngt gläichwäerteg. Kontrolléiert den Handler vun der Applikatioun, ier Dir unhëlt, datt eng kopéiert Timeout-Optioun wierkt.

Et lount sech och de gesamten timeout ze setzen. Entréeë vu gratis Lëschte kënnen tëscht Kontrollen ophalen ze äntweren, an de Standardwäert ass keng nëtzlech Frist fir eng Ufro, déi séier fäerdeg muss ginn.

Eng Proxy-Zouuerdnung benotzen

Eng Zouuerdnung léisst Iech Strecke nom Zilschema wielen an explizitt Hoste fir d’Ëmgoe vum Proxy uginn:

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

Benotzt dësen Array amplaz vun der String-Optioun. Den HTTPS-Schlëssel wielt HTTPS-Ziler; säin HTTP-Wäert beschreift nach ëmmer de Proxy-Lauschterer. En anere Lauschterprotokoll verlaangt eng aner Endpunktkonfiguratioun.

Wann Dir d’proxy-Optioun vun der Ufro selwer ugitt, erwaart Guzzle och déi gewënschten no-Wäerter vun Iech amplaz se automatesch aus NO_PROXY ze kopéieren. Eng eidel Lëscht ass nëtzlech fir en isoléierte Proxytest. Huet d’Applikatioun bewosst Ëmgoe-Reegelen, behalt se explizitt.

Ähnlech Artikelen