Come faccio autenticazione con un server proxy da CLJ-apache-http?
-
23-09-2019 - |
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")))