Konfigurationsebene des Proxys in clj-http wählen
JVM-Eigenschaften für einen gemeinsamen clj-http-Weg oder Anforderungsoptionen für eine ausdrückliche HTTP-Proxy-Überschreibung verwenden.
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.