Задача для царства в HttpUnit - PullRequest
2 голосов
/ 17 мая 2011

API-интерфейс HttpUnit для веб-клиента говорит, что «Отправит заголовок авторизации только при вызове для указанной области».Что означает «оспариваемый» в этом случае?Как HttpUnit распознает вызов?

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Это относится к тому, как работает HTTP-аутентификация:

При доступе к защищенному URL-адресу (впервые, без учетных данных, включенных в запрос), сервер отправит обратно ответ с кодом состояния401 Unauthorized и заголовок WWW-Authenticate, установленный на что-то вроде Basic realm="My Realm".Это указывает на то, что для данного URL-адреса требуется обычная проверка подлинности, а область называется «Моя область».Это проблема - пользовательский агент информируется сервером о том, что URL-адрес, к которому он пытался получить доступ, требует аутентификации, и он должен отправить учетные данные пользователя.Пользовательский агент обычно запрашивает у пользователя учетные данные, а затем повторяет запрос, на этот раз с заголовком Authorization, установленным на что-то вроде Basic rXflcjMwYXxz, где вторая часть представляет собой пару имени пользователя и пароля в кодировке Base64.

В случае метода HttpUnit, с которым вы связались, вы увидите, что он требует области, имени пользователя и пароля.Я полагаю, что при обращении к URL-адресу, если он получает 401 (вызов) с сервера, он сравнивает область, которую вы передали, с областью в ответе;если он совпадает, он попытается пройти аутентификацию с использованием предоставленных имени пользователя и пароля.

Ссылки:

2 голосов
/ 18 мая 2011

Когда сервер отвечает 401 ошибкой, HttpUnit генерирует исключение AuthorizationRequiredException. Мы можем использовать getParameter ("область") исключения, чтобы получить область и снова отправить запрос с этим именем области.

...