Запрос 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, необходимо выполнить три шага:
- Отправьте запрос GET на нужный приватный ресурс, в ответ вы получите cookie (заголовок "Установить cookie").
- Отправьте запрос с cookie (с шага 1) на j_security_check. В ответ вы должны получить код 302 - "Временно переехал".
- Теперь вы можете повторить запрос к частному ресурсу с тем же файлом cookie, в ответ вы получите необходимые данные ресурса.