Стандартная бібліятэка 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.

Падобныя артыкулы