Domanda

Sto cercando di alzarsi un'esecuzione tramite 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)

Il problema è che il mio proxy (squid) richiede l'autenticazione. Come faccio a "nutrire" il mio nome utente / password in questa biblioteca?

Grazie!

Nessuna soluzione corretta

Altri suggerimenti

L'aggiunta dei seguenti al mio dizionario intestazioni ha fatto il trucco:

"Proxy-Authorization" (str "Basic "
                             (base64/encode-str "username:password"))

Come Mac ha detto - questo potrebbe essere realizzata anche con un filtro - ma preventiva-base-auth-filtro non funziona perché invia le intestazioni WWW-autorizzazione, invece di Proxy-Authorization

.

CLJ-apache-http ha una preventiva-base-auth-filtro che è possibile utilizzare. Supporta combinato stringhe nome utente / password di questa forma "name: password". L'utilizzo della funzione non è ben documentato, ma può essere trovato qui . Esempio (non testato):

(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")))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top