Weka IP ya proksi kwa ombi la Guzzle
Tumia chaguo proxy kwa kila ombi la Guzzle na uelewe muda wa muunganisho unaotegemea kishughulikiaji na orodha ya wazi ya kupita bila proksi.
Chaguo proxy la Guzzle hukubali URL kamili ya kituo. Liweke kwenye ombi wakati operesheni hiyo pekee ndiyo itumie IP uliyochagua.
<?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();
Mfano unadhania Guzzle 7 imesakinishwa kupitia Composer. Badilisha anwani ya nyaraka kwa proksi halisi ya HTTP kutoka mtoa huduma au orodha ya proksi za HTTP. Acha lengwa katika URL ya ombi: proksi ni mpatanishi, si rasilimali inayopakuliwa.
Hapa http_errors ni false ili jibu la hitilafu ya HTTP liendelee kupatikana kwa uchunguzi. Kushindwa kuunganisha bado hutupa vighairi vya uhamishaji. Kwa hiyo handaki la HTTPS lililokataliwa wakati wa kuanzishwa linaweza kushindwa kabla ya kupata objekti ya jibu la kawaida la tovuti.
Kagua kishughulikiaji wakati mipaka ya kuunganisha inatenda tofauti
Guzzle inaweza kutumia vishughulikiaji tofauti vya HTTP. Nyaraka zake zinasema kishughulikiaji cha cURL kilichojengwa ndani hutumia connect_timeout. Kishughulikiaji maalumu au mazingira yasiyo na PHP cURL si lazima yawe sawa. Kagua kinachotumiwa na programu kabla ya kudhani chaguo la muda ulilonakili linafanya kazi.
Inafaa pia kuweka timeout ya jumla. Ingizo la orodha za bure linaweza kuacha kujibu kati ya ukaguzi, na thamani chaguomsingi si muda wa mwisho unaofaa kwa ombi linalopaswa kuisha haraka.
Kutumia ramani ya proksi
Ramani hukuruhusu kuchagua njia kwa skimu ya lengwa na kutoa wazi seva ambazo zitapita bila proksi:
'proxy' => [
'http' => 'http://203.0.113.10:8080',
'https' => 'http://203.0.113.10:8080',
'no' => [],
],
Tumia safu hii badala ya chaguo la mfuatano. Ufunguo HTTPS huchagua malengwa ya HTTPS; thamani yake ya HTTP bado hueleza msikilizaji wa proksi. Itifaki tofauti ya kusikiliza inahitaji usanidi tofauti wa kituo.
Unapotoa chaguo proxy la ombi mwenyewe, Guzzle inatarajia utoe thamani za no ulizokusudia badala ya kuzinakili kiotomatiki kutoka NO_PROXY. Orodha tupu ni muhimu kwa jaribio la proksi lililotengwa. Ikiwa programu ina sheria za makusudi za kupita bila proksi, zihifadhi wazi.