У меня есть приложение, подключающееся к сайтам, которым требуется базовая аутентификация. Сайты предоставляются во время выполнения и не известны во время компиляции.HttpClient 4.2, Basic Authentication и 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), новый UserPasswordCredentials (proxyUser, proxyPassword)); Это правильный путь – MayurB