Пераменныя асяроддзя проксі для загрузак Julia
Падайце сумяшчальныя з libcurl пераменныя проксі перад запускам Julia і дыягнастуйце запыт Downloads, а не меркаваць, што кожны пакет выкарыстоўвае адзін і той жа бэкенд.
Стандартная бібліятэка 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. Для загрузак, якім дазволена выкарыстоўваць публічныя endpoint'ы, спіс проксі HTTP дае кандыдатаў для гэтага значэння. Не змяняйце гэта значэнне на https://, калі сам слухач проксі не падтрымлівае TLS.
libcurl прымае http_proxy толькі ў ніжнім рэгістры. Іншыя пераменныя проксі для пратаколаў таксама маюць формы ў верхнім рэгістры. Яго канвенцыя абыходу — no_proxy або NO_PROXY, з запісамі праз коску; http_no_proxy не з'яўляецца дакументаванай агульнай пераменнай абыходу.
Працэс Julia, запушчаны IDE або фонавай службай, успадкоўвае асяроддзе гэтага запускальніка. Пераменная, экспартаваная пазней у іншым тэрмінале, не пераналаджвае яго.
Для дыягностыкі Downloads.download прымае verbose=true, а яго callback адладкі можа атрымліваць падрабязныя падзеі перадачы. Праглядзіце гэты вывад лакальна і выдаліце сакрэты перад тым, як дзяліцца ім.
Пакет, які выкарыстоўвае іншую рэалізацыю HTTP, патрабуе ўласнага агляду канфігурацыі. Паспяховы выклік Downloads устанаўлівае паводзіны менавіта гэтага запыту, а не кожнай сеткавай аперацыі, напісанай на Julia.