Ho un'applicazione che si collega ai siti che richiedono l'autenticazione di base. I siti sono forniti in fase di esecuzione e non sono noti al momento della compilazione.HttpClient 4.2, Autenticazione base e AuthScope
Sto utilizzando HttpClient 4.2.
Non sono sicuro che il codice riportato di seguito sia come devo specificare l'autenticazione di base, ma la documentazione lo suggerirebbe. Tuttavia, non so cosa passare nel costruttore di AuthScope
. Avevo pensato che un parametro nullo significasse che le credenziali fornite dovrebbero essere usate per tutti gli URL, ma getta un NullPointerException
, quindi chiaramente ho sbagliato.
m_client = new DefaultHttpClient();
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(m_userName, m_password);
((DefaultHttpClient)m_client).getCredentialsProvider().setCredentials(new AuthScope((HttpHost)null), credentials);
client.getCredentialsProvider(). setCredentials ( nuovo AuthScope (proxyHost, proxyPort), new UsernamePasswordCredentials (proxyUser, proxyPassword)); Questo è il modo corretto – MayurB