Die Downloads-Standardbibliothek von Julia verwendet libcurl. Stellen Sie die Proxy-Umgebung bereit, bevor der Prozess startet, der den Download ausführt:

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

Ein Beispiel-fetch.jl kann die gewöhnliche Downloads-API verwenden:

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

Die Variable https_proxy wählt die Route zu einem HTTPS-Ziel; der Wert http:// bezeichnet einen gewöhnlichen HTTP-Proxy. Für Downloads, die öffentliche Endpunkte nutzen dürfen, bietet die HTTP-Proxy-Liste Kandidaten für diesen Wert. Ändern Sie diesen Wert nicht auf https://, sofern der Proxy-Listener nicht selbst TLS unterstützt.

libcurl akzeptiert http_proxy nur in Kleinbuchstaben. Andere Protokoll-Proxy-Variablen haben ebenfalls Großbuchstabenformen. Seine Umgehungskonvention ist no_proxy oder NO_PROXY mit kommagetrennten Einträgen; http_no_proxy ist nicht die dokumentierte allgemeine Umgehungsvariable.

Ein Julia-Prozess, der von einer IDE oder einem Hintergrunddienst gestartet wird, erbt die Umgebung dieses Starters. Eine später in einem anderen Terminal exportierte Variable konfiguriert ihn nicht neu.

Zur Diagnose akzeptiert Downloads.download verbose=true, und sein Debug-Callback kann detaillierte Transportereignisse empfangen. Prüfen Sie diese Ausgabe lokal und entfernen Sie Geheimnisse, bevor Sie sie weitergeben.

Ein Paket, das eine andere HTTP-Implementierung verwendet, benötigt eine eigene Prüfung der Konfiguration. Ein erfolgreicher Downloads-Aufruf belegt das Verhalten dieser Anfrage, nicht jeder in Julia geschriebenen Netzwerkoperation.

Ähnliche Artikel