Trên Windows, gói R curl cung cấp ie_get_proxy_for_url để lấy quyết định của hệ thống cho một đích cụ thể. Với một chính sách trả về một điểm cuối proxy được hỗ trợ:

target <- 'https://data.example/report.csv'
selected <- curl::ie_get_proxy_for_url(target)
handle <- curl::new_handle(
  proxy = if (is.null(selected)) '' else selected
)
result <- curl::curl_fetch_memory(target, handle = handle)

Trình trợ giúp có thể đánh giá cấu hình tự động hoặc khám phá. Việc tra cứu đó có thể mất thời gian vì lấy và chạy tập lệnh PAC có thể cần công việc mạng.

Kết quả NULL của nó nghĩa là không có proxy nào được chọn. Ví dụ ánh xạ kết quả đó thành tùy chọn proxy rỗng để libcurl không thay thế proxy kế thừa từ môi trường.

Hãy kiểm tra một kết quả chứa ánh xạ giao thức hoặc nhiều ứng viên trước khi coi nó là một điểm cuối libcurl. Danh sách do kho cấu hình Windows trả về không tự động là một URL proxy đơn hợp lệ.

Lặp lại việc chọn cho các đích khác khi chính sách có thể định tuyến chúng khác nhau. Đừng đánh giá một máy chủ rồi lưu kết quả của nó làm tuyến HTTP và HTTPS phổ quát.

Việc tra cứu chọn một tuyến, không phải danh tính proxy. Cấu hình tài khoản và phương thức xác thực được hỗ trợ trên handle khi cần. Không cần mở khóa namespace của curl và thay new_handle trên toàn cục.

Bài viết liên quan