R starpniekservera diagnostika: libcurl versija, TLS aizmugure un protokoli
Pārbaudiet ar R saistītās libcurl versiju, TLS ieviešanu un protokolu atribūtus atsevišķi no ārējā curl izpildfaila.
Conda vidē instalētais R var izmantot citu libcurl būvējumu nekā termināļa curl izpildfails. Pajautājiet neveiksmīgajai R sesijai, kura bibliotēka tai patiešām ir:
info <- libcurlVersion()
info
attr(info, 'ssl_version')
attr(info, 'protocols')
Rakstzīmju vērtība norāda saistītās libcurl versiju. Tās atribūts ssl_version identificē TLS ieviešanu, bet protocols uzskaita mērķa protokolus, ko šī bibliotēka atbalsta. Tie apraksta R iebūvēto libcurl ceļu, nevis shell komandu ar nosaukumu curl.
Saskaņojiet atskaiti ar lejupielādes metodi
download.file ar method='libcurl' izmanto šo bibliotēku. method='curl' palaiž ārējo izpildfailu. Pašreizējā automātiskā HTTP(S) izvēle izmanto libcurl, un opcija download.file.method ar vērtību NULL var atstāt šo noklusējumu spēkā.
Veiciet pārbaudi tajā faktiskajā vidē, ko izvēlas darbs vai IDE. Cita R instalācija var ziņot par citu versiju vai TLS aizmuguri pat tad, ja tās skripti izskatās identiski.
Sarakstā iekļauts https protokols nozīmē, ka HTTPS galamērķi tiek atbalstīti. Tas nepierāda, ka konkrēts starpniekservera klausītājs pieņem TLS. Parastam HTTP starpniekserverim HTTPS lejupielādei joprojām ir starpniekservera URL ar http://.
Saglabājiet bibliotēkas atskaiti kopā ar izvēlēto metodi un savienojuma kļūdu. Sertifikāta kļūme, neatbalstīta starpniekservera shēma un noraidīts klausītājs joprojām ir atšķirīgi atradumi; tikai versijas numurs nav to diagnoze.