משתני סביבת פרוקסי להורדות Julia
ספקו משתני פרוקסי תואמי libcurl לפני הפעלת Julia ואבחנו את בקשת Downloads במקום להניח שכל חבילה משתמשת באותו backend.
ספריית התקן 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.