Với clj-http 3.13.1, hãy bắt đầu từ các giao diện được thư viện ghi lại: thuộc tính Java và bản đồ yêu cầu. Riêng tùy chọn proxy trên máy tính để bàn không cho biết ứng dụng đã cung cấp những tham số nào.

Một yêu cầu có thể chọn rõ ràng một trung gian HTTP:

(require '[clj-http.client :as http])

(http/get "https://example.com/"
          {:proxy-host "proxy.example.net"
           :proxy-port 8080})

Với chính sách JVM dùng chung, clj-http ghi lại http.proxyHost và http.proxyPort cho các đích HTTP, cùng https.proxyHost và https.proxyPort cho các đích HTTPS. Thuộc tính bỏ qua dùng chung là http.nonProxyHosts.

Các tùy chọn proxy-host và proxy-port rõ ràng ghi đè tuyến dựa trên thuộc tính đó, bao gồm http.nonProxyHosts. Với cấu hình thử nghiệm công khai được phép mà không có thông tin đăng nhập proxy, một mục HTTP từ danh sách proxy HTTP có thể cung cấp máy chủ và cổng của yêu cầu. clj-http cũng cung cấp proxy-ignore-hosts cho các loại trừ ở cấp yêu cầu; giá trị mặc định được ghi lại có localhost và 127.0.0.1.

Khi trung gian cần thông tin đăng nhập, hãy truyền proxy-user và proxy-pass trong tùy chọn yêu cầu từ nguồn thông tin đăng nhập của ứng dụng.

SOCKS có giao diện riêng: tạo trình quản lý bằng clj-http.conn-mgr/make-socks-proxied-conn-manager và truyền nó làm connection-manager. Dùng lại và đóng trình quản lý đó theo vòng đời của khối lượng công việc.

Bài viết liên quan