Variables de entorno de proxy para las descargas de Julia
Proporcione variables de proxy compatibles con libcurl antes de iniciar Julia y diagnostique la solicitud de Downloads en lugar de suponer que todos los paquetes usan el mismo backend.
La biblioteca estándar Downloads de Julia usa libcurl. Proporcione el entorno de proxy antes de iniciar el proceso que realiza la descarga:
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 ejemplo fetch.jl puede usar la API habitual de Downloads:
using Downloads
Downloads.download(
"https://downloads.example/data.csv",
"data.csv";
timeout = 30,
)
La variable https_proxy elige la ruta hacia un destino HTTPS; el valor http:// especifica un proxy HTTP normal. Para las descargas que pueden usar puntos de conexión públicos, la lista de proxies HTTP ofrece candidatos para ese valor. No cambie ese valor a https:// salvo que el propio escucha del proxy admita TLS.
libcurl solo acepta http_proxy en minúsculas. Las demás variables de proxy por protocolo también tienen formas en mayúsculas. Su convención de omisión es no_proxy o NO_PROXY, con entradas separadas por comas; http_no_proxy no es la variable general de omisión documentada.
Un proceso de Julia iniciado por un IDE o un servicio en segundo plano hereda el entorno de ese lanzador. Una variable exportada después en otra terminal no lo reconfigura.
Para el diagnóstico, Downloads.download acepta verbose=true, y su función de devolución de depuración puede recibir eventos de transporte detallados. Revise esa salida localmente y elimine los secretos antes de compartirla.
Un paquete que usa otra implementación de HTTP necesita su propia revisión de configuración. Una llamada correcta a Downloads establece el comportamiento de esa solicitud, no el de todas las operaciones de red escritas en Julia.