Escolher o nível de configuração do proxy no clj-http
Use propriedades da JVM para uma rota clj-http compartilhada ou opções do pedido para uma substituição explícita do proxy HTTP.
Para o clj-http 3.13.1, comece pelas interfaces documentadas da biblioteca: as propriedades Java e o mapa do pedido. Uma preferência de proxy do ambiente de trabalho, por si só, não mostra quais parâmetros a aplicação forneceu.
Um pedido pode escolher explicitamente um intermediário HTTP:
(require '[clj-http.client :as http])
(http/get "https://example.com/"
{:proxy-host "proxy.example.net"
:proxy-port 8080})
Para uma política JVM comum, o clj-http documenta http.proxyHost e http.proxyPort para destinos HTTP, além de https.proxyHost e https.proxyPort para destinos HTTPS. A propriedade partilhada de exceção é http.nonProxyHosts.
As opções explícitas proxy-host e proxy-port substituem essa rota baseada em propriedades, incluindo http.nonProxyHosts. Para uma configuração de teste pública permitida sem credenciais de proxy, uma entrada HTTP da lista de proxies HTTP pode fornecer o host e a porta do pedido. O clj-http também expõe proxy-ignore-hosts para exclusões ao nível do pedido; o valor predefinido documentado contém localhost e 127.0.0.1.
Quando o intermediário exigir credenciais, forneça proxy-user e proxy-pass nas opções do pedido a partir da origem de credenciais da aplicação.
O SOCKS tem uma interface separada: crie um gestor com clj-http.conn-mgr/make-socks-proxied-conn-manager e passe-o como connection-manager. Reutilize e feche esse gestor de acordo com o ciclo de vida da carga de trabalho.