Мне нужно выполнить HTTP GET для URL-адреса, для которого требуется проверка подлинности NTLM. Я могу получить доступ к URL-адресу с помощью Firefox или Chrome на MacBook Pro. Браузер запрашивает комбинацию имени пользователя и пароля, и он работает. Теперь я пытаюсь сделать то же самое в Groovy с помощью HttpClient. Я следовал руководству по поддержке NTLM, но всегда получаю 401 Unauthorized
обратно. В ответе тоже есть это предложение:
У вас нет разрешения на просмотр этого каталога или страницы с использованием предоставленных вами учетных данных, потому что ваш веб-браузер отправляет поле заголовка WWW-Authenticate, которое веб-сервер не настроен для приема.
Я пробовал всевозможные комбинации для имени сервера и домена (удаленный компьютер с Windows не находится в домене) в этом фрагменте кода, но всегда получаю один и тот же ответ.
httpclient.getCredentialsProvider().setCredentials(
new AuthScope("myserver", -1),
new NTCredentials("username", "password", "MYSERVER", "MYDOMAIN"));
У кого-нибудь была такая же проблема и удалось ее решить? Обратите внимание, что это внешняя программа, которая использует IIS под капотом, поэтому я не думаю, что могу там изменить какие-либо настройки.
РЕДАКТИРОВАТЬ:
В отличие от того, что я сказал, мне удалось изменить настройки безопасности в IIS, чтобы принять аутентификацию BASIC, поэтому у меня больше нет проблемы.