ALL_PROXY بديل احتياطي لطلبات curl في R
عيّن عنوان URL كاملًا للوكيل داخل عملية R، ثم احتسب المتغيرات الخاصة بالبروتوكول وقواعد التجاوز وخيارات مقبض curl الصريحة.
تستخدم حزمة curl في R مكتبة libcurl. لذلك قد ينطبق وكيل بيئة العملية حتى عندما لا يحمل curl_fetch_memory أي وسيط وكيل في الاستدعاء:
Sys.setenv(ALL_PROXY = "http://proxy.example:8080")
result <- curl::curl_fetch_memory("https://www.example.org/")
عيّن البيئة قبل تجهيز الطلب. استخدم نقطة نهاية كاملة، بما في ذلك المخطط والمنفذ المقصودين، بدلًا من افتراض أن اسم مضيف مجرد يعني البروتوكول الصحيح. للطلبات المسموح بها إلى المواقع العامة، توفّر قائمة وكلاء HTTP مرشحين لعناوين URL للوكيل عبر HTTP في الأمثلة.
ALL_PROXY خيار احتياطي. متغير بيئة الوكيل الخاص ببروتوكول الوجهة له الأولوية، ولا يزال تجاوز NO_PROXY المطابق قادرًا على اختيار اتصال مباشر. افحص تلك القيم عندما يبدو أن تغيير ALL_PROXY لا أثر له.
إذا كان المسار يخص مقبضًا واحدًا، فاضبطه صراحةً:
handle <- curl::new_handle(proxy = "http://proxy.example:8080")
result <- curl::curl_fetch_memory(
"https://www.example.org/", handle = handle
)
يتجاوز خيار الوكيل في المقبض اختيار الوكيل من البيئة؛ وتبقى سياسة التجاوز ذات صلة. خيار وكيل فارغ صراحةً يعطّل استخدام الوكيل حتى عند وجود متغير بيئة للوكيل.
تؤثر هذه الإعدادات في عملية R الجارية وفي طلبات curl. وقد يؤدي بدء جلسة R مختلفة أو استخدام حزمة بتطبيق شبكي آخر إلى مسار مختلف.