एक ही cURL स्थानांतरण में स्थानीय इंटरफ़ेस और प्रॉक्सी चुनें
स्थानीय स्रोत के लिए CURLOPT_INTERFACE और मध्यस्थ के लिए CURLOPT_PROXY का उपयोग करें, OS रूटिंग और NAT को ध्यान में रखते हुए।
कई स्थानीय पतों वाले मशीन को फ़ॉरवर्ड प्रॉक्सी से अपने कनेक्शन के लिए उनमें से एक की आवश्यकता हो सकती है। cURL दोनों चुनाव स्पष्ट रूप से कर सकता है:
curl_setopt_array($handle, [
CURLOPT_URL => 'https://example.com/',
CURLOPT_INTERFACE => '192.0.2.20',
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
यह किसी मौजूदा cURL हैंडल के लिए एक उदाहरण कॉन्फ़िगरेशन है। 192.0.2.20 को उस स्रोत पते से बदलें जो PHP चलाने वाले मशीन पर वास्तव में उपलब्ध हो। प्रॉक्सी खाते के बिना अनुमत सार्वजनिक अनुरोध के लिए, HTTP प्रॉक्सी सूची प्रॉक्सी मान के लिए दूरस्थ श्रोता प्रदान कर सकती है।
CURLOPT_INTERFACE बाहर जाने वाले कनेक्शन का स्थानीय पक्ष चुनता है। CURLOPT_PROXY उस मध्यस्थ को चुनता है जो अनुरोध को आगे ले जाता है। स्थानीय स्रोत चुनने से मशीन दूरस्थ प्रॉक्सी नहीं बनती और न ही उसे कोई मनमाना सार्वजनिक IP मिलता है।
इस पथ पर, स्थानीय चुनाव प्रॉक्सी की ओर कनेक्शन को प्रभावित करता है। वेबसाइट आमतौर पर प्रॉक्सी का अगला स्रोत पता देखती है। किसी भी जोड़ी के बीच NAT प्रत्येक प्राप्तकर्ता द्वारा देखे जाने वाले पते का और अनुवाद कर सकता है।
यदि इंटरफ़ेस चुनाव छोड़ दिया जाए, तो libcurl TCP स्टैक को उपयुक्त स्रोत चुनने देता है। वह चुनाव मशीन के नेटवर्क कॉन्फ़िगरेशन का पालन करता है; यह सार्वभौमिक नियम नहीं है कि कॉन्फ़िगरेशन फ़ाइल का पहला पता जीते।
libcurl समर्थित प्लेटफ़ॉर्म पर इंटरफ़ेस नाम स्वीकार करता है, लेकिन उसका दस्तावेज़ इस विकल्प के लिए Windows इंटरफ़ेस नामों के चयन को बाहर रखता है। होस्टनाम का उपयोग भी एक अवरोधक लुकअप शुरू कर सकता है। ज्ञात स्थानीय पता अधिक स्पष्ट इनपुट है जब वही अनुप्रयोग का इच्छित चुनाव हो।