Передача основных учетных данных auth при каждом запросе с помощью HtmlUnit WebClient

Я пытаюсь написать простой дымовой тест для веб-приложения.

Приложение обычно использует аутентификацию на основе форм, но также принимает и базовый аутентификатор, но поскольку по умолчанию используется аутентификация на основе форм, оно никогда не отправляет запрос на аутентификацию, а вместо этого просто отправляет форму входа.

В тесте я пытаюсь отправить заголовок basic auth с помощью

WebClient webClient = new WebClient();

DefaultCredentialsProvider creds = new DefaultCredentialsProvider();

// Set some example credentials
creds.addCredentials("usr", "pwd");

// And now add the provider to the webClient instance
webClient.setCredentialsProvider(creds);

webClient.getPage("<some url>")

Я также пробовал запихнуть учетные данные в объект WebRequest и передать его в метод webClient.getPage.

Но на сервере я не получаю заголовок аутентификации. Я подозреваю, что WebClient отправляет заголовок аутентификации только в том случае, если сервер явно запрашивает его, чего никогда не происходит.

Так что вопрос в том, как я могу заставить WebClient отправлять заголовок аутентификации при каждом запросе, включая первый?

7
задан Charles 5 December 2011 в 21:27
поделиться