Standardowa biblioteka Downloads w Julii korzysta z libcurl. Ustaw środowisko proxy przed uruchomieniem procesu, który wykonuje pobieranie:

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

Przykładowy fetch.jl może korzystać ze zwykłego API Downloads:

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

Zmienna https_proxy wybiera trasę do celu HTTPS; wartość http:// wskazuje zwykły serwer proxy HTTP. Dla pobrań, którym wolno używać publicznych punktów końcowych, lista serwerów proxy HTTP podaje kandydatów do tej wartości. Nie zmieniaj tej wartości na https://, chyba że sam odbiornik proxy obsługuje TLS.

libcurl akceptuje http_proxy tylko małymi literami. Inne zmienne proxy dla protokołów też mają formy wielkimi literami. Konwencja pomijania to no_proxy lub NO_PROXY, z wpisami oddzielonymi przecinkami; http_no_proxy nie jest udokumentowaną ogólną zmienną pomijania.

Proces Julii uruchomiony przez IDE lub usługę działającą w tle dziedziczy środowisko tego programu uruchamiającego. Zmienna wyeksportowana później w innym terminalu nie skonfiguruje go ponownie.

Do diagnozy Downloads.download przyjmuje verbose=true, a jego callback debugowania może odbierać szczegółowe zdarzenia transportu. Przejrzyj te dane lokalnie i usuń sekrety przed udostępnieniem.

Pakiet korzystający z innej implementacji HTTP wymaga własnego przeglądu konfiguracji. Udane wywołanie Downloads potwierdza zachowanie właśnie tego żądania, a nie każdej operacji sieciowej napisanej w Julii.

Powiązane artykuły