我有一个应用程序连接到需要基本身份验证的站点。这些站点是在运行时提供的,在编译时是未知的。
我正在使用 HttpClient 4.2。
我不确定下面的代码是否是我应该指定基本身份验证的方式,但文档会建议它是。但是,我不知道在AuthScope
. 我曾认为 null 参数意味着提供的凭据应该用于所有 URL,但它会抛出一个NullPointerException
,所以很明显我错了。
m_client = new DefaultHttpClient();
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(m_userName, m_password);
((DefaultHttpClient)m_client).getCredentialsProvider().setCredentials(new AuthScope((HttpHost)null), credentials);