لوجهات HTTP، اضبط http_proxy بالأحرف الصغيرة. يتجاهل curl عمدًا HTTP_PROXY بالأحرف الكبيرة. في صدفة POSIX:

http_proxy=http://127.0.0.1:8080 curl http://example.com/
https_proxy=http://127.0.0.1:8080 curl https://example.com/

تسري هذه الإسنادات على الأمر الذي يليها مباشرة فقط. استبدل عنوان الاستماع في المثال بعنوان وكيلك؛ ولمقارنة نقاط نهاية عامة، اختر مرشحًا من قائمة وكلاء HTTP. يختار المتغير https_proxy مسار وجهات HTTPS؛ وتظل القيمة التي تستخدم http:// تعني وكيل HTTP عاديًا يستطيع إنشاء نفق إلى الوجهة. تستخدم PowerShell وصُدَف أوامر Windows صياغة إسناد مختلفة.

لماذا تشكل هذه الكتابة بالأحرف الكبيرة خطرًا

يمكن لبيئات CGI تحويل ترويسات الطلبات الواردة إلى متغيرات HTTP_ بأحرف كبيرة. لذا قد تتحول ترويسة باسم Proxy إلى HTTP_PROXY. والثقة بها بوصفها إعدادًا للاتصالات الصادرة ستسمح لبيانات الطلب باختيار الوكيل. يتجنب اشتراط الأحرف الصغيرة في curl هذا الربط؛ ولا ينطبق الاستثناء بالطريقة نفسها تمامًا على HTTPS ومتغيرات البروتوكولات الأخرى.

إذا لم يغير تعديل المتغير المسار

ابحث أولًا عن متغير خاص بالبروتوكول، ثم عن الخيار الاحتياطي ALL_PROXY. قد تتجاوز قاعدة مطابقة في NO_PROXY الوكيل. وللصيغ المكتوبة بالأحرف الصغيرة والتعريفات المتنافسة أهمية أيضًا. تبلغ هذه الحلقة لصدفة شبيهة بيونكس عن وجود المتغيرات دون طباعة قيم قد تحتوي على بيانات اعتماد:

for name in http_proxy HTTP_PROXY https_proxy HTTPS_PROXY all_proxy ALL_PROXY no_proxy NO_PROXY; do
  if printenv "$name" >/dev/null; then
    printf '%s is set\n' "$name"
  fi
done

افحص التعريفات المذكورة محليًا. إذا ظهر أحدها مجددًا، فتحقق من إعدادات صدفة التشغيل أو الخدمة أو IDE أو الحاوية أو CI. يحدد الوجود مدخلات محتملة، ولا يخبرك أي قيمة كانت لها الأولوية.

لعزل طلب واحد عن خيارات الوكيل هذه، حدد نقطة النهاية وقائمة تجاوز فارغة معًا:

curl --proxy http://127.0.0.1:8080 --noproxy '' --connect-timeout 5 --max-time 15 --verbose https://example.com/

للمقارنة باتصال مباشر عندما يكون مسموحًا:

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

تساعد هذه الأوامر على التمييز بين مسار موروث وفشل في الاتصال. اقرأ نتائج اختبار الوكيل مرحلة بمرحلة قبل تغيير مزيد من إعدادات البيئة. طبق قواعد متغيرات curl على curl؛ فقد تكتشف بيئة تشغيل التطبيق نفسها الوكلاء وتدمج إعداداتهم بطريقة مختلفة.

مقالات ذات صلة