Diagnostica proxy in R: versione di libcurl, backend TLS e protocolli
Ispeziona la versione, l'implementazione TLS e gli attributi di protocollo del libcurl collegato a R separatamente da un eseguibile curl esterno.
L'R installato in un ambiente Conda può usare una build di libcurl diversa dall'eseguibile curl nel terminale. Chiedi alla sessione R che fallisce quale libreria ha davvero:
info <- libcurlVersion()
info
attr(info, 'ssl_version')
attr(info, 'protocols')
Il valore di caratteri riporta la versione del libcurl collegato. Il suo attributo ssl_version identifica l'implementazione TLS, mentre protocols elenca i protocolli di destinazione supportati da quella libreria. Descrivono il percorso libcurl integrato di R, non un comando shell chiamato curl.
Abbina il report al metodo di download
download.file con method='libcurl' usa questa libreria. method='curl' avvia l'eseguibile esterno. L'attuale selezione automatica HTTP(S) usa libcurl, e un'opzione download.file.method con valore NULL può lasciare in vigore tale impostazione predefinita.
Esegui l'ispezione nell'ambiente reale scelto dal job o dall'IDE. Un'altra installazione di R può riportare un'altra versione o un altro backend TLS anche quando i suoi script sembrano identici.
Un protocollo https elencato significa che le destinazioni HTTPS sono supportate. Non dimostra che un determinato listener proxy accetti TLS. Un normale proxy HTTP per un download HTTPS ha ancora un URL proxy con http://.
Conserva il report della libreria insieme al metodo scelto e all'errore di connessione. Un errore di certificato, uno schema proxy non supportato e un listener rifiutato restano riscontri diversi; un numero di versione da solo non è la loro diagnosi.