Diagnosticarea proxy-ului în R: versiunea libcurl, backendul TLS și protocoalele
Inspectați versiunea, implementarea TLS și atributele de protocol ale libcurl asociate cu R separat de un executabil curl extern.
R instalat într-un mediu Conda poate folosi altă compilare libcurl decât executabilul curl din terminal. Întrebați sesiunea R care eșuează ce bibliotecă are de fapt:
info <- libcurlVersion()
info
attr(info, 'ssl_version')
attr(info, 'protocols')
Valoarea de caractere raportează versiunea libcurl asociate. Atributul ssl_version identifică implementarea TLS, iar protocols enumeră protocoalele de destinație acceptate de acea bibliotecă. Ele descriu calea libcurl încorporată din R, nu o comandă shell numită curl.
Potriviți raportul cu metoda de descărcare
download.file cu method='libcurl' folosește această bibliotecă. method='curl' lansează executabilul extern. Selecția automată actuală HTTP(S) folosește libcurl, iar o opțiune download.file.method cu valoarea NULL poate lăsa acel implicit în vigoare.
Rulați inspecția în mediul real selectat de sarcină sau de IDE. O altă instalare R poate raporta altă versiune sau alt backend TLS chiar și atunci când scripturile sale par identice.
Un protocol https listat înseamnă că destinațiile HTTPS sunt acceptate. Nu dovedește că un anumit ascultător de proxy acceptă TLS. Un proxy HTTP obișnuit pentru o descărcare HTTPS are în continuare un URL de proxy cu http://.
Păstrați raportul bibliotecii împreună cu metoda aleasă și eroarea de conexiune. Eșecul certificatului, schema de proxy neacceptată și ascultătorul refuzat rămân constatări diferite; un număr de versiune singur nu este diagnosticul lor.