Para clj-http 3.13.1, comece polas interfaces documentadas da biblioteca: as propiedades de Java e o mapa da solicitude. Unha preferencia de proxy do escritorio por si soa non indica que parámetros forneceu a aplicación.

Unha solicitude pode escoller explicitamente un intermediario HTTP:

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

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

Para unha política común da JVM, clj-http documenta http.proxyHost e http.proxyPort para destinos HTTP, ademais de https.proxyHost e https.proxyPort para destinos HTTPS. A propiedade compartida de omisión é http.nonProxyHosts.

As opcións explícitas proxy-host e proxy-port substitúen esa ruta baseada en propiedades, incluída http.nonProxyHosts. Para unha configuración de proba pública permitida sen credenciais de proxy, unha entrada HTTP da lista de proxies HTTP pode fornecer o host e o porto da solicitude. clj-http tamén expón proxy-ignore-hosts para exclusións a nivel de solicitude; o seu valor predeterminado documentado contén localhost e 127.0.0.1.

Cando o intermediario necesite credenciais, pase proxy-user e proxy-pass nas opcións da solicitude desde a fonte de credenciais da aplicación.

SOCKS ten unha interface separada: cree un xestor con clj-http.conn-mgr/make-socks-proxied-conn-manager e pásao como connection-manager. Reutilice e peche ese xestor segundo o ciclo de vida da carga de traballo.

Artigos relacionados