我有一個應用程序連接到需要基本身份驗證的站點。這些站點在運行時提供,並且在編譯時不知道。HttpClient 4.2,基本身份驗證和AuthScope
我正在使用HttpClient 4.2。
我不確定下面的代碼是如何指定基本認證,但文檔會建議它。但是,我不知道要在AuthScope
的構造函數中傳遞什麼。我曾認爲一個空參數意味着所提供的憑據應該用於所有的URL,但它會拋出一個NullPointerException
,所以很明顯我錯了。
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( )新的AuthScope(proxyHost,proxyPort), 新的UsernamePasswordCredentials(proxyUser,proxyPassword)); 這是正確的方法 – MayurB