Für clj-http 3.13.1 beginnen Sie mit den dokumentierten Schnittstellen der Bibliothek: Java-Eigenschaften und der Anforderungs-Map. Eine Proxy-Einstellung im Desktop allein zeigt nicht, welche Parameter die Anwendung übergeben hat.

Eine Anforderung kann einen HTTP-Vermittler ausdrücklich wählen:

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

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

Für eine gemeinsame JVM-Richtlinie dokumentiert clj-http http.proxyHost und http.proxyPort für HTTP-Ziele sowie https.proxyHost und https.proxyPort für HTTPS-Ziele. Die gemeinsame Umgehungseigenschaft ist http.nonProxyHosts.

Die ausdrücklichen Optionen proxy-host und proxy-port überschreiben diesen eigenschaftsbasierten Weg, einschließlich http.nonProxyHosts. Für eine zulässige öffentliche Testkonfiguration ohne Proxy-Zugangsdaten kann ein HTTP-Eintrag aus der HTTP-Proxy-Liste Host und Port für die Anforderung liefern. clj-http stellt außerdem proxy-ignore-hosts für Ausnahmen auf Anforderungsebene bereit; der dokumentierte Standard enthält localhost und 127.0.0.1.

Wenn der Vermittler Zugangsdaten benötigt, übergeben Sie proxy-user und proxy-pass in den Anforderungsoptionen aus der Zugangsdatenquelle der Anwendung.

SOCKS hat eine eigene Schnittstelle: Erstellen Sie mit clj-http.conn-mgr/make-socks-proxied-conn-manager einen Manager und übergeben Sie ihn als connection-manager. Verwenden Sie diesen Manager gemäß dem Lebenszyklus der Arbeitslast erneut und schließen Sie ihn.

Ähnliche Artikel