تستخدم مكتبة Downloads القياسية في Julia مكتبة libcurl. وفّر بيئة الوكيل قبل بدء العملية التي تنفّذ التنزيل:

export http_proxy='http://proxy.example:8080'
export https_proxy='http://proxy.example:8080'
export no_proxy='localhost,127.0.0.1'
julia fetch.jl

يمكن لمثال fetch.jl أن يستخدم واجهة Downloads العادية:

using Downloads
Downloads.download(
    "https://downloads.example/data.csv",
    "data.csv";
    timeout = 30,
)

يختار المتغير https_proxy المسار إلى وجهة HTTPS؛ وتحدد قيمة http:// وكيل HTTP عاديًا. وبالنسبة إلى التنزيلات المسموح لها باستخدام نقاط نهاية عامة، توفّر قائمة وكلاء HTTP مرشحين لتلك القيمة. لا تغيّر تلك القيمة إلى https:// إلا إذا كان مستمع الوكيل نفسه يدعم TLS.

لا يقبل libcurl المتغير http_proxy إلا بأحرف صغيرة. ولمتغيرات الوكيل الخاصة ببروتوكولات أخرى صيغ بأحرف كبيرة أيضًا. اصطلاح التجاوز لديه هو no_proxy أو NO_PROXY، بمدخلات مفصولة بفواصل؛ وليس http_no_proxy هو متغير التجاوز العام الموثق.

عملية Julia التي يطلقها محرر متكامل أو خدمة خلفية ترث بيئة ذلك المُطلق. والمتغير الذي يُصدَّر لاحقًا في طرفية أخرى لا يعيد ضبطها.

للتشخيص، يقبل Downloads.download الخيار verbose=true، ويمكن لرد نداء التصحيح الخاص به أن يتلقى أحداث نقل مفصلة. راجع ذلك الخرج محليًا وأزل الأسرار قبل مشاركته.

الحزمة التي تستخدم تنفيذ HTTP آخر تحتاج إلى مراجعة إعداداتها الخاصة. فالنداء الناجح إلى Downloads يثبت سلوك ذلك الطلب، لا كل عملية شبكة مكتوبة بلغة Julia.

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