Comment puis-je authentifie à un serveur proxy http CLJ-apache-?
-
23-09-2019 - |
Question
Je suis en train de se lever une course en utilisant 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)
Le problème est, mon proxy (calmars) requiert une authentification. Comment puis-je « nourrir » mon nom d'utilisateur / mot de passe dans cette bibliothèque?
Merci!
Pas de solution correcte
Autres conseils
Ajouter ce qui suit à mon dictionnaire entêtes fait l'affaire:
"Proxy-Authorization" (str "Basic "
(base64/encode-str "username:password"))
Comme dit Mac - cela pourrait aussi être mis en œuvre avec un filtre - mais préemptive-basic-auth filtre ne fonctionnera pas, car il envoie les en-têtes WWW-Autorisation au lieu de Proxy-Authorization
.CLJ-apache-http a une auth-préemptif-base filtre que vous pouvez utiliser. Il prend en charge les chaînes nom d'utilisateur / mot de passe combinés de ce formulaire « : Mot de passe ». L'utilisation de la fonction est bien documenté, mais peut être trouvé ici . Exemple (non testé):
(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")))