Я пытаюсь написать программу для автоматического тестирования моего веб-приложения. Для этого я открываю соединение, используя HttpURLConnection.
Одна из страниц, которые я пытаюсь проверить, выполняет перенаправление 302. Мой тестовый код выглядит так:
URL currentUrl = new URL(urlToSend);
HttpURLConnection connection = (HttpURLConnection) currentUrl.openConnection();
connection.connect();
system.out.println(connection.getURL().toString());
Итак, допустим, что urlToSend равен http://www.foo.com/bar.jsp, и эта страница перенаправляет вас на http://www.foo.com/quux.jsp. Мой оператор println должен распечатать http://www.foo.com/quux.jsp, верно?
НЕПРАВИЛЬНО.
Перенаправление никогда не происходит, и он печатает исходный URL. Однако, если я изменяю, отключите строку connection.connect () с вызовом connection.getResponseCode (), это волшебным образом сработает.
URL currentUrl = new URL(urlToSend);
HttpURLConnection connection = (HttpURLConnection) currentUrl.openConnection();
//connection.connect();
connection.getResponseCode();
system.out.println(connection.getURL().toString());
Почему я вижу это поведение? Я что-то не так делаю?
Спасибо за помощь.