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")))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top