Gosod IP dirprwy ar gyfer cais Guzzle
Defnyddiwch opsiwn proxy fesul cais Guzzle a deallwch amser cysylltu sy’n dibynnu ar y triniwr a rhestr osgoi benodol.
Mae opsiwn proxy Guzzle yn derbyn URL pwynt terfyn llawn. Gosodwch ef ar y cais pan ddylai’r weithred honno yn unig ddefnyddio’r IP a ddewiswyd.
<?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();
Mae’r enghraifft yn tybio bod Guzzle 7 wedi’i osod drwy Composer. Disodlwch y cyfeiriad dogfennu â dirprwy HTTP go iawn gan y darparwr neu’r rhestr dirprwyon HTTP. Cadwch y gyrchfan yn URL y cais: canolwr yw’r dirprwy, nid yr adnodd sy’n cael ei lawrlwytho.
Yma mae http_errors yn false fel bod ymateb gwall HTTP ar gael i’w archwilio o hyd. Mae methiannau cysylltu’n dal i godi eithriadau trosglwyddo. Felly gall twnnel HTTPS a wrthodir wrth ei sefydlu fethu cyn i chi dderbyn gwrthrych ymateb gwefan arferol.
Gwiriwch y triniwr pan fo terfynau cysylltu’n ymddwyn yn wahanol
Gall Guzzle ddefnyddio trinwyr HTTP gwahanol. Dywed y ddogfennaeth fod y triniwr cURL adeiledig yn cefnogi connect_timeout. Nid yw triniwr personol nac amgylchedd heb PHP cURL o reidrwydd yn gyfwerth. Gwiriwch driniwr yr ap cyn tybio bod opsiwn terfyn amser a gopïwyd yn gweithio.
Mae’n werth gosod y timeout cyffredinol hefyd. Gall cofnodion rhestrau am ddim roi’r gorau i ateb rhwng gwiriadau, ac nid yw’r rhagosodiad yn derfyn defnyddiol i gais sy’n gorfod gorffen yn brydlon.
Defnyddio map dirprwy
Mae map yn gadael i chi ddewis llwybrau yn ôl cynllun y gyrchfan a rhoi gwesteiwyr osgoi’n benodol:
'proxy' => [
'http' => 'http://203.0.113.10:8080',
'https' => 'http://203.0.113.10:8080',
'no' => [],
],
Defnyddiwch yr arae hon yn lle’r opsiwn llinyn. Mae’r allwedd HTTPS yn dewis cyrchfannau HTTPS; mae’i gwerth HTTP yn dal i ddisgrifio gwrandäwr y dirprwy. Mae protocol gwrando gwahanol yn gofyn am ffurfweddiad pwynt terfyn gwahanol.
Pan fyddwch yn darparu opsiwn proxy y cais eich hun, mae Guzzle yn disgwyl i chi roi’r gwerthoedd no bwriadedig, yn hytrach na’u copïo’n awtomatig o NO_PROXY. Mae rhestr wag yn ddefnyddiol ar gyfer prawf dirprwy ar wahân. Os oes gan yr ap reolau osgoi bwriadol, cadwch nhw’n benodol.