Chẩn đoán proxy trong R: phiên bản libcurl, backend TLS và các giao thức
Kiểm tra phiên bản, cách triển khai TLS và các thuộc tính giao thức của libcurl được liên kết với R tách biệt khỏi tệp thực thi curl bên ngoài.
R được cài trong môi trường Conda có thể dùng bản dựng libcurl khác với tệp thực thi curl trong terminal. Hãy hỏi phiên R đang lỗi xem nó thực sự có thư viện nào:
info <- libcurlVersion()
info
attr(info, 'ssl_version')
attr(info, 'protocols')
Giá trị ký tự báo cáo phiên bản libcurl được liên kết. Thuộc tính ssl_version của nó xác định cách triển khai TLS, còn protocols liệt kê các giao thức đích mà thư viện đó hỗ trợ. Chúng mô tả đường libcurl tích hợp của R, không phải một lệnh shell tên là curl.
Đối chiếu báo cáo với phương thức tải xuống
download.file với method='libcurl' dùng thư viện này. method='curl' khởi chạy tệp thực thi bên ngoài. Lựa chọn HTTP(S) tự động hiện tại dùng libcurl, và tùy chọn download.file.method có giá trị NULL có thể giữ nguyên mặc định đó.
Chạy kiểm tra trong đúng môi trường mà công việc hoặc IDE chọn. Một bản cài R khác có thể báo cáo phiên bản hoặc backend TLS khác ngay cả khi các script của nó trông giống hệt.
Một giao thức https được liệt kê nghĩa là các đích HTTPS được hỗ trợ. Điều đó không chứng minh rằng một trình lắng nghe proxy cụ thể chấp nhận TLS. Proxy HTTP thông thường cho tải xuống HTTPS vẫn có URL proxy là http://.
Lưu báo cáo thư viện cùng với phương thức đã chọn và lỗi kết nối. Lỗi chứng chỉ, sơ đồ proxy không được hỗ trợ và trình lắng nghe bị từ chối vẫn là những phát hiện khác nhau; chỉ số phiên bản không phải là chẩn đoán của chúng.