Variáveis de ambiente de proxy para downloads do Julia
Forneça variáveis de proxy compatíveis com libcurl antes de iniciar o Julia e diagnostique a solicitação Downloads em vez de supor que todos os pacotes usam o mesmo backend.
A biblioteca padrão Downloads do Julia usa libcurl. Forneça o ambiente de proxy antes de iniciar o processo que realiza o download:
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
Um exemplo fetch.jl pode usar a API comum do Downloads:
using Downloads
Downloads.download(
"https://downloads.example/data.csv",
"data.csv";
timeout = 30,
)
A variável https_proxy escolhe a rota até um destino HTTPS; o valor http:// indica um proxy HTTP comum. Para downloads autorizados a usar endpoints públicos, a lista de proxies HTTP oferece candidatos para esse valor. Não altere esse valor para https:// a menos que o próprio ouvinte do proxy suporte TLS.
libcurl aceita http_proxy apenas em minúsculas. As demais variáveis de proxy por protocolo também têm formas em maiúsculas. A convenção de contorno é no_proxy ou NO_PROXY, com entradas separadas por vírgulas; http_no_proxy não é a variável geral de contorno documentada.
Um processo do Julia iniciado por uma IDE ou por um serviço em segundo plano herda o ambiente desse lançador. Uma variável exportada depois em outro terminal não o reconfigura.
Para diagnóstico, Downloads.download aceita verbose=true, e seu retorno de depuração pode receber eventos de transporte detalhados. Revise essa saída localmente e remova segredos antes de compartilhá-la.
Um pacote que usa outra implementação de HTTP precisa de sua própria revisão de configuração. Uma chamada bem-sucedida ao Downloads estabelece o comportamento daquela solicitação, não de toda operação de rede escrita em Julia.