La bibliothèque standard Downloads de Julia utilise libcurl. Fournissez l'environnement de proxy avant de lancer le processus qui effectue le téléchargement :

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

Un exemple fetch.jl peut utiliser l'API Downloads ordinaire :

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

La variable https_proxy choisit la route vers une destination HTTPS ; la valeur http:// désigne un proxy HTTP ordinaire. Pour les téléchargements autorisés à utiliser des points de terminaison publics, la liste de proxys HTTP propose des candidats pour cette valeur. Ne remplacez pas cette valeur par https:// sauf si l'écouteur du proxy prend lui-même en charge TLS.

libcurl n'accepte http_proxy qu'en minuscules. Les autres variables de proxy par protocole ont aussi des formes en majuscules. Sa convention de contournement est no_proxy ou NO_PROXY, avec des entrées séparées par des virgules ; http_no_proxy n'est pas la variable générale de contournement documentée.

Un processus Julia lancé par un IDE ou un service en arrière-plan hérite de l'environnement de ce lanceur. Une variable exportée plus tard dans un autre terminal ne le reconfigure pas.

Pour le diagnostic, Downloads.download accepte verbose=true, et son rappel de débogage peut recevoir des événements de transport détaillés. Examinez cette sortie localement et retirez les secrets avant de la partager.

Un paquet qui utilise une autre implémentation HTTP a besoin de sa propre révision de configuration. Un appel Downloads réussi établit le comportement de cette requête, pas celui de toutes les opérations réseau écrites en Julia.

Articles similaires