Jsoup没有关注此网址的服务器重定向:http://fshandbook.info/FS/html/FCA/BIPRU/6

时间:2015-02-17 23:05:30

标签: jsoup

在浏览器中点击网址时(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中的错误吗?有什么问题吗?

2 个答案:

答案 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(真)获得();