我有一个应用程序连接到需要基本身份验证的站点。这些站点在运行时提供,并且在编译时不知道。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