#java #http-redirect #http-status-code-307
#java #http-перенаправление #http-status-code-307
Вопрос:
Мы все знаем, что браузер отвечает за перенаправление запроса, как только он получает код состояния ответа 3xx.
Но на этот раз я отправляю запрос из внутреннего кода приложения, используя URLConnection. Мое приложение запущено на сервере tomcat.
Теперь, что, если я получу код состояния ответа 3xx, позаботится ли сам tomcat о перенаправлении запроса или я должен обработать его в своем приложении как :
if(urlConnection.getResponseCode() == 302)
{
// make a new request to URL found in Location Header
}
Комментарии:
1. Tomcat не участвует в нисходящих вызовах больше, чем отель, в котором вы остановились, участвует, когда вы звоните кому-то на свой мобильный телефон. Ваш HTTP-клиент будет либо следовать перенаправлению, либо нет, в зависимости от его возможностей и того, как вы его настроили.
2. Спасибо @chrylis-осторожно оптимистично-
3.
java.io.Http[s]URLConnection
См. Методыset[Instance]FollowRedirects
, но предупреждение: он не обрабатывает изменение протокола, например перенаправление http: на https:, что является обычным явлением. Для new-since-11java.net.http.HttpClient
см..Builder.followRedirects
.