O R instalado num ambiente Conda pode usar uma compilação de libcurl diferente da do executável curl no terminal. Pergunte à sessão R que falha qual biblioteca ela realmente tem:

info <- libcurlVersion()
info
attr(info, 'ssl_version')
attr(info, 'protocols')

O valor de caracteres informa a versão do libcurl vinculado. O atributo ssl_version identifica a implementação TLS, enquanto protocols lista os protocolos de destino suportados por essa biblioteca. Eles descrevem o caminho libcurl incorporado do R, não um comando de shell chamado curl.

Combine o relatório com o método de download

download.file com method='libcurl' usa esta biblioteca. method='curl' inicia o executável externo. A seleção automática atual de HTTP(S) usa libcurl, e uma opção download.file.method com valor NULL pode manter esse padrão.

Execute a inspeção no ambiente real selecionado pelo trabalho ou pela IDE. Outra instalação do R pode relatar outra versão ou backend TLS mesmo quando os scripts parecem idênticos.

Um protocolo https listado significa que destinos HTTPS são suportados. Isso não prova que um determinado ouvinte de proxy aceite TLS. Um proxy HTTP comum para um download HTTPS ainda tem um URL de proxy com http://.

Guarde o relatório da biblioteca junto com o método escolhido e o erro de conexão. Uma falha de certificado, um esquema de proxy não suportado e um ouvinte recusado continuam sendo descobertas diferentes; um número de versão sozinho não é o diagnóstico deles.

Artigos relacionados