کتابخانه استاندارد 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 می‌تواند از API معمول 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 که یک IDE یا سرویس پس‌زمینه اجرا می‌کند، محیط همان راه‌انداز را به ارث می‌برد. متغیری که بعداً در پایانه دیگری صادر شود، آن را پیکربندی مجدد نمی‌کند.

برای عیب‌یابی، Downloads.download گزینه verbose=true را می‌پذیرد و تابع برگشتی اشکال‌زدایی آن می‌تواند رویدادهای تفصیلی انتقال را دریافت کند. آن خروجی را به‌صورت محلی بررسی کنید و پیش از به اشتراک گذاشتن، اطلاعات محرمانه را حذف کنید.

بسته‌ای که از پیاده‌سازی دیگری از HTTP استفاده می‌کند به بررسی پیکربندی خودش نیاز دارد. فراخوانی موفق Downloads رفتار همان درخواست را ثابت می‌کند، نه هر عملیات شبکه‌ای که با Julia نوشته شده است.

مقالات مرتبط