【发布时间】:2023-04-08 15:50:01
【问题描述】:
我有一个应用程序连接到需要基本身份验证的网站。这些站点是在运行时提供的,在编译时是未知的。
我正在使用 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);
【问题讨论】:
-
client.getCredentialsProvider()。 setCredentials(new AuthScope(proxyHost, proxyPort), new UsernamePasswordCredentials(proxyUser, proxyPassword));这是正确的方法
标签: java httpclient apache-httpclient-4.x apache-commons-httpclient