اختيار واجهة محلية ووكيل في نقل cURL واحد
استخدم CURLOPT_INTERFACE للمصدر المحلي وCURLOPT_PROXY للوسيط، مع مراعاة توجيه نظام التشغيل و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 لهذا الخيار. كما أن استخدام اسم مضيف قد يطلق بحثاً معطِّلاً. العنوان المحلي المعروف مدخل أوضح عندما يكون ذلك هو الاختيار الذي يقصده التطبيق.