在浏览器中点击网址时(IE9或Chrome最新版):
http://fshandbook.info/FS/html/FCA/BIPRU/6
浏览器被重定向到:
http://fshandbook.info/FS/html/handbook/BIPRU/6
但是,如果我使用
Jsoup.connect("http://fshandbook.info/FS/html/FCA/BIPRU/6").get()
重定向不会发生,返回的页面是错误页面。
这是Jsoup中的错误吗?有什么问题吗?
答案 0 :(得分:0)
服务器似乎期望有效的会话cookie。如果您在没有cookie的情况下调用URL,则服务器会将;jsessionid=...
添加到目标URL。这导致另一个302重定向到您看到的错误页面。
因此,如果您在请求重定向之前获得了一些有效的会话cookie,那么一切都很好:
Connection.Response response;
response = Jsoup.connect("http://fshandbook.info/FS/html/FCA/").execute();
response = Jsoup.connect("http://fshandbook.info/FS/html/FCA/BIPRU/6")
.cookies(response.cookies()).execute();
然后你得到了想要的结果:
assertEquals("http://fshandbook.info/FS/html/handbook/BIPRU/6",
response.parse().baseUri());
答案 1 :(得分:0)
尝试以下代码
Jsoup.connect(" http://fshandbook.info/FS/html/FCA/BIPRU/6&#34)。followRedirects(真)获得();