Guzzles opsje proxy akseptearret in folsleine einpunt-URL. Stel har op de oanfraach yn as allinnich dy hanneling it keazen IP brûke moat.

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

It foarbyld giet út fan Guzzle 7 ynstallearre fia Composer. Ferfang it dokumintaasjeadres troch in echte HTTP-proxy fan de oanbieder of út de list mei HTTP-proxy’s. Hâld de bestimming yn de oanfraach-URL: de proxy is tuskenpersoan, net de boarne dy’t ynladen wurdt.

Hjir is http_errors false sadat in HTTP-flaterantwurd beskikber bliuwt foar ûndersyk. Ferbiningsflaters smite noch oerdrachtútsûnderingen op. In by it opbouwen wegere HTTPS-tunnel kin dus mislearje foar’tst in gewoan websideantwurdobjekt krigest.

Kontrolearje de handler as ferbiningslimiten oars wurkje

Guzzle kin ferskillende HTTP-handlers brûke. De dokumintaasje seit dat de ynboude cURL-handler connect_timeout stipet. In eigen handler of omjouwing sûnder PHP cURL is net needsaaklik lykweardich. Kontrolearje de handler fan de applikaasje foar’tst oannimst dat in kopiearre time-outopsje wurket.

Ek de totale timeout is it ynstellen wurdich. Gratislistyngongen kinne tusken kontrôles ophâlde mei antwurdzjen, en de standert is gjin brûkbere deadline foar in oanfraach dy’t gau klear wêze moat.

In proxymap brûke

Mei in map kinst rûtes kieze neffens it bestimmingsskema en eksplisyt hosts opjaan dy’t de proxy omsile:

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

Brûk dizze array ynstee fan de stringopsje. De HTTPS-kaai kiest HTTPS-bestimmingen; de HTTP-wearde beskriuwt noch altyd de proxylústerder. In oar lústerprotokol freget in oare einpuntkonfiguraasje.

Ast sels de proxyopsje fan de oanfraach opjoust, ferwachtet Guzzle ek de bedoelde no-wearden fan dy ynstee fan se automatysk út NO_PROXY te kopiearjen. In lege list is nuttich foar in isolearre proxytest. Hat de applikaasje bewuste útsûnderingsregels, bewarje dy dan eksplisyt.

Relatearre artikelen