我正在尝试编写一个程序来对我的Web应用进行自动化测试。为了实现这一目的,我使用HttpURLConnection打开连接。
我要测试的页面之一执行302重定向。我的测试代码如下:
假设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(),它就会神奇地工作。
为什么我看到这种行为?我做错了什么吗?
谢谢帮助。
我要测试的页面之一执行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());
为什么我看到这种行为?我做错了什么吗?
谢谢帮助。