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();
उदाहरण मानता है कि 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 से स्वतः कॉपी नहीं करता। खाली सूची अलग प्रॉक्सी परीक्षण के लिए उपयोगी है। ऐप में जानबूझकर बने बायपास नियम हों तो उन्हें स्पष्ट रूप से सुरक्षित रखें।