¿Cómo puedo autenticarse en un servidor proxy desde CLJ-Apache-http?
-
23-09-2019 - |
Pregunta
Estoy tratando de levantarse de una ejecución usando http://github.com/rnewman / CLJ-apache-http
(http/get (java.net.URI. url)
:headers {"User-Agent" user-agent}
:parameters (http/map->params
{:default-proxy (http/http-host :host "localhost"
:port 8888)})
:as :string)
El problema es que mi representante (calamar) requiere autenticación. Cómo hacer yo "alimentación" mi nombre de usuario / contraseña en esta biblioteca?
Gracias!
No hay solución correcta
Otros consejos
Agregar lo siguiente en mis cabeceras diccionario resolvieron el problema:
"Proxy-Authorization" (str "Basic "
(base64/encode-str "username:password"))
Al igual que Mac dijo - esto también podría ser implementado con un filtro -. Sino preventivo-basic-auth-filtro no funcionará, ya que envía los encabezados de WWW-autorización en lugar de Autorización proxy
CLJ-Apache-http tiene un-basic-auth-filtro preventivo que puede utilizar. Es compatible con las cadenas de nombre de usuario / contraseña combinados de esta forma "nombre: contraseña". El uso de la función no está bien documentada, pero se puede encontrar aquí . Ejemplo (no probado):
(http/get (java.net.URI. url)
:headers {"User-Agent" user-agent}
:parameters (http/map->params
{:default-proxy (http/http-host :host "localhost"
:port 8888)})
:as :string
:filters ((preemptive-basic-auth-filter "name:password")))