Для clj-http 3.13.1 почніть із задокументованих інтерфейсів бібліотеки: властивостей Java і карти запиту. Лише налаштування проксі в системі не показує, які параметри надала програма.

Запит може явно вибрати HTTP-посередника:

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

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

Для спільної політики JVM clj-http документує http.proxyHost і http.proxyPort для HTTP-адрес, а також https.proxyHost і https.proxyPort для HTTPS-адрес. Спільна властивість обходу — http.nonProxyHosts.

Явні параметри proxy-host і proxy-port перевизначають цей маршрут на основі властивостей, зокрема http.nonProxyHosts. Для дозволеної публічної тестової конфігурації без облікових даних проксі запис HTTP зі списку HTTP-проксі може надати хост і порт для запиту. clj-http також надає proxy-ignore-hosts для винятків на рівні запиту; його задокументоване значення за замовчуванням містить localhost і 127.0.0.1.

Коли посереднику потрібні облікові дані, передайте proxy-user і proxy-pass у параметрах запиту з джерела облікових даних програми.

SOCKS має окремий інтерфейс: створіть менеджер за допомогою clj-http.conn-mgr/make-socks-proxied-conn-manager і передайте його як connection-manager. Повторно використовуйте та закривайте цей менеджер відповідно до життєвого циклу навантаження.

Схожі статті