Guzzle கோரிக்கைக்கு ப்ராக்ஸி IP அமைக்கவும்
Guzzle-இன் கோரிக்கைவாரி proxy விருப்பம், ஹேண்ட்லரைச் சார்ந்த இணைப்பு நேரவரம்பு மற்றும் வெளிப்படையான விலக்குப் பட்டியலைப் புரிந்துகொள்ளவும்.
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();
எடுத்துக்காட்டு Composer மூலம் Guzzle 7 நிறுவப்பட்டுள்ளதாகக் கருதுகிறது. ஆவண முகவரியை வழங்குநர் அல்லது 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 விருப்பத்தை நீங்களே கொடுத்தால், தேவையான no மதிப்புகளையும் நீங்களே வழங்குமாறு Guzzle எதிர்பார்க்கிறது; NO_PROXY-இலிருந்து தானாக நகலெடுக்காது. வெற்றுப் பட்டியல் தனியான ப்ராக்ஸி சோதனைக்குப் பயனுள்ளது. செயலியில் நோக்கமுள்ள விலக்கு விதிகள் இருந்தால் அவற்றை வெளிப்படையாகப் பாதுகாக்கவும்.