#asp.net #http #iis #ntlm #wcat
#asp.net #http #iis #ntlm #wcat
Вопрос:
Кто-нибудь знает, как избежать записи WCAT неожиданных кодов состояния HTTP «401 неавторизованный» при тестировании веб-приложения, использующего аутентификацию NTLM? Пример кода, который я использую для запроса, приведен ниже:
request
{
url = "http://server";
authentication = NTLM;
username = "user";
password = "xxxx";
statuscode = 200;
}
Для пояснения, этот скрипт работает нормально и действительно извлекает содержимое, но при запуске на сервере IIS7 согласование NTLM (я полагаю) означает, что записывается начальный код 401, а также конечный код 200.
Это означает, что после теста отчет показывает такое же количество кодов 401, как и 200 кодов, и, к сожалению, 401 записываются как неожиданные коды / ошибки.
Я понимаю, что это вопрос, аналогичный заданному ранее, но в этом конкретно спрашивается, есть ли способ избежать неожиданных кодов состояния.
Спасибо!
Ответ №1:
Что вам нужно (я думаю), так это transaction { ... }
с несколькими request { ... }
элементами внутри, некоторые из которых ожидают код состояния 401:
transaction
{
id = "home";
weight = 1000;
request
{
url = "/";
statuscode = 401;
redirect = true;
cookies = true;
}
request
{
url = "/";
statuscode = 401;
authentication = NTLM;
username = "domain\username";
password = "password";
redirect = true;
cookies = true;
}
request
{
url = "/";
authentication = NTLM;
username = "domain\username";
password = "password";
statuscode = 200;
redirect = true;
cookies = true;
}
}
Комментарии:
1. (Просто просматриваю свою учетную запись SO, отсюда и поздний ответ!)
2. Я думаю, что я пробовал это в июне, но все еще возникли некоторые проблемы. Я помню, что это было лучше, но не полное решение, но спасибо за помощь 🙂
3. Извините за necro, но я просто хотел прокомментировать, что именно эта проблема рассматривается в документации в каталоге wcat / doc, wcat.doc, страница 23. Фил, похоже, на правильном пути в этом отношении.
4. Я перепробовал все комбинации, но это просто не работает. Он отправляет заголовок авторизации, но каким-то образом он все еще получает 401