জুলিয়ার Downloads স্ট্যান্ডার্ড লাইব্রেরি 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 API ব্যবহার করতে পারে:

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

https_proxy ভেরিয়েবলটি একটি HTTPS গন্তব্যের পথ বেছে নেয়; http:// মানটি একটি সাধারণ HTTP প্রক্সি নির্দেশ করে। পাবলিক এন্ডপয়েন্ট ব্যবহারের অনুমতি আছে এমন ডাউনলোডের জন্য HTTP প্রক্সি তালিকা ওই মানের জন্য প্রার্থী সরবরাহ করে। প্রক্সি লিসেনার নিজেই TLS সমর্থন না করলে ওই মানটি https:// এ পরিবর্তন করবেন না।

libcurl http_proxy কেবল ছোট হাতের অক্ষরে গ্রহণ করে। অন্য প্রোটোকল প্রক্সি ভেরিয়েবলগুলোরও বড় হাতের রূপ আছে। এর বাইপাস রীতি হলো no_proxy বা NO_PROXY, কমা-বিচ্ছিন্ন এন্ট্রিসহ; http_no_proxy নথিভুক্ত সাধারণ বাইপাস ভেরিয়েবল নয়।

কোনো IDE বা ব্যাকগ্রাউন্ড পরিষেবা যে জুলিয়া প্রক্রিয়া চালু করে, তা সেই চালকের পরিবেশ উত্তরাধিকার করে। অন্য টার্মিনালে পরে এক্সপোর্ট করা ভেরিয়েবল এটি পুনরায় কনফিগার করে না।

নির্ণয়ের জন্য Downloads.download verbose=true গ্রহণ করে, এবং এর ডিবাগ কলব্যাক বিস্তারিত ট্রান্সপোর্ট ইভেন্ট পেতে পারে। সেই আউটপুট স্থানীয়ভাবে পর্যালোচনা করুন এবং শেয়ার করার আগে গোপন তথ্য সরান।

অন্য HTTP বাস্তবায়ন ব্যবহার করা প্যাকেজের নিজস্ব কনফিগারেশন পর্যালোচনা দরকার। সফল Downloads কল ওই অনুরোধের আচরণ প্রতিষ্ঠা করে, জুলিয়ায় লেখা প্রতিটি নেটওয়ার্ক ক্রিয়া নয়।

সম্পর্কিত নিবন্ধ