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

Схожі статті