Запрос j_security_check возвращает ошибку 408 только с правильными параметрами

Я хочу отправить запрос к серверу j_security_check и получить куки-файл auth из ответа. Код:

String url = "http://someserver:8080/j_security_check?j_username=user&j_password=qwerty";
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();

Если я укажу неверные параметры аутентификации, то в ответ получу страницу неправильного входа по умолчанию, но если я укажу правильные параметры аутентификации, я получу код сервера 408. Что не так?

1 ответ

Решение

Чтобы получить некоторый ресурс на сервере tomcat с аутентификацией j_security_check, необходимо выполнить три шага:

  1. Отправьте запрос GET на нужный приватный ресурс, в ответ вы получите cookie (заголовок "Установить cookie").
  2. Отправьте запрос с cookie (с шага 1) на j_security_check. В ответ вы должны получить код 302 - "Временно переехал".
  3. Теперь вы можете повторить запрос к частному ресурсу с тем же файлом cookie, в ответ вы получите необходимые данные ресурса.
Другие вопросы по тегам