Choisir le niveau de configuration du proxy de clj-http
Utilisez les propriétés JVM pour un itinéraire clj-http partagé ou les options de requête pour un remplacement explicite du proxy HTTP.
Pour clj-http 3.13.1, commencez par les interfaces documentées de la bibliothèque : les propriétés Java et la map de requête. Une préférence de proxy du bureau ne montre pas à elle seule quels paramètres l'application a fournis.
Une requête peut choisir explicitement un intermédiaire HTTP :
(require '[clj-http.client :as http])
(http/get "https://example.com/"
{:proxy-host "proxy.example.net"
:proxy-port 8080})
Pour une politique JVM commune, clj-http documente http.proxyHost et http.proxyPort pour les destinations HTTP, ainsi que https.proxyHost et https.proxyPort pour les destinations HTTPS. La propriété de contournement partagée est http.nonProxyHosts.
Les options explicites proxy-host et proxy-port remplacent cet itinéraire fondé sur les propriétés, y compris http.nonProxyHosts. Pour une configuration de test publique autorisée sans identifiants de proxy, une entrée HTTP de la liste de proxies HTTP peut fournir l'hôte et le port de la requête. clj-http expose aussi proxy-ignore-hosts pour les exclusions au niveau de la requête ; sa valeur par défaut documentée contient localhost et 127.0.0.1.
Lorsque l'intermédiaire exige des identifiants, fournissez proxy-user et proxy-pass dans les options de requête depuis la source d'identifiants de l'application.
SOCKS dispose d'une interface distincte : créez un gestionnaire avec clj-http.conn-mgr/make-socks-proxied-conn-manager et passez-le comme connection-manager. Réutilisez et fermez ce gestionnaire selon le cycle de vie de la charge de travail.