የGuzzle proxy አማራጭ ሙሉ የመጨረሻ ነጥብ URL ይቀበላል። የተመረጠውን IP ያ ተግባር ብቻ መጠቀም ሲገባው፣ በጥያቄው ላይ ያዘጋጁት።

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

ምሳሌው Guzzle 7 በComposer መጫኑን ይገምታል። የሰነድ አድራሻውን ከአቅራቢዎ ወይም ከHTTP ፕሮክሲ ዝርዝር በእውነተኛ HTTP ፕሮክሲ ይተኩ። መድረሻውን በጥያቄው URL ውስጥ ያቆዩ፤ ፕሮክሲው መካከለኛ ነው፣ የሚወርደው ሀብት አይደለም።

እዚህ http_errors false ነው፣ ስለዚህ የHTTP ስህተት ምላሽ ለምርመራ ይቀራል። የግንኙነት ውድቀቶች አሁንም የማስተላለፍ ልዩ ሁኔታዎችን ያስነሳሉ። ስለዚህ በመመሥረት ጊዜ የተከለከለ HTTPS ዋሻ መደበኛ የድረገጽ ምላሽ ኦብጀክት ከመቀበልዎ በፊት ሊወድቅ ይችላል።

የግንኙነት ገደቦች በተለየ ሁኔታ ሲሠሩ ተቆጣጣሪውን ይፈትሹ

Guzzle የተለያዩ HTTP ተቆጣጣሪዎችን ሊጠቀም ይችላል። ሰነዶቹ ውስጣዊው cURL ተቆጣጣሪ connect_timeoutን እንደሚደግፍ ይናገራሉ። ብጁ ተቆጣጣሪ ወይም PHP cURL የሌለበት አካባቢ የግድ እኩል አይደለም። የተቀዳ የጊዜ ገደብ አማራጭ እየሠራ መሆኑን ከመገመትዎ በፊት የመተግበሪያውን ተቆጣጣሪ ይፈትሹ።

አጠቃላይ timeoutንም ማዘጋጀት ጠቃሚ ነው። የነፃ ዝርዝር ግቤቶች በፍተሻዎች መካከል መመለስ ሊያቆሙ ይችላሉ፣ ነባሪውም በፍጥነት መጨረስ ላለበት ጥያቄ ጠቃሚ የመጨረሻ ጊዜ አይደለም።

የፕሮክሲ ካርታ መጠቀም

ካርታ በመድረሻ ስኪማ መሠረት መንገድ ለመምረጥና ፕሮክሲን የሚያልፉ አስተናጋጆችን በግልጽ ለመስጠት ያስችላል፦

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

ይህን ድርድር በሕብረቁምፊ አማራጩ ምትክ ይጠቀሙ። የHTTPS ቁልፍ የHTTPS መድረሻዎችን ይመርጣል፤ HTTP እሴቱ አሁንም የፕሮክሲ አዳማጩን ይገልጻል። የተለየ የማዳመጫ ፕሮቶኮል የተለየ የመጨረሻ ነጥብ ውቅር ይፈልጋል።

የጥያቄውን proxy አማራጭ ራስዎ ሲሰጡ፣ Guzzle የታሰቡትን no እሴቶች እርስዎ እንዲሰጡ ይጠብቃል እንጂ ከNO_PROXY በራሱ አይቀዳም። ባዶ ዝርዝር ለተለየ የፕሮክሲ ፈተና ጠቃሚ ነው። መተግበሪያው ሆን ተብሎ የተዘጋጁ የማለፊያ ደንቦች ካሉት፣ በግልጽ ያቆዩአቸው።

ተዛማጅ ጽሑፎች