重定向到jsoup没有www的网址

时间:2014-05-21 08:25:59

标签: url redirect jsoup reload

我已经使用jsoup登录网站,登录后获得了下一页的所有内容。有一个名为Quoting的链接,当我点击此链接时,它会重定向到新的URL(代码为1)  这进一步重新加载到代码2的url。但我的代码并没有引导我url no 2.任何人都可以告诉我在哪里犯了错误?

这是我的代码。我做了两个选项但没有一个工作。

1)

Document doc2  = Jsoup.connect("https://www.infinityagents.com/AgencyServices/ForwardOnelinkServlet")
                 .cookie("JSESSIONID", sessionID)
                 .timeout(300000)
                 .followRedirects(true)
                .post();

2)

Connection.Response docd  = Jsoup.connect("https://webrater.infinityagents.com/start.do")
                 .cookie("JSESSIONID", sessionID)
                 .followRedirects(true)
                .execute();

1 个答案:

答案 0 :(得分:1)

可能在登录后,它会在会话或某些表单数据中保留一些数据,并且它希望这些值用于后续访问。你需要找出这些并提供它们。另一种情况是它可能会检查重定向的来源。你收到403错误吗?在这种情况下,请尝试将引荐来源设置为

Connection.Response docd  = Jsoup.connect("https://webrater.infinityagents.com/start.do")
                 .cookie("JSESSIONID", sessionID)
                 .referrer("https://webrater.infinityagents.com/start.do")
                 .followRedirects(true)
                 .execute();    

根据例外情况,我认为您有证书问题。请尝试以下

  1. 从网站获取ssl证书:这可以通过不同的方式完成。最简单的是通过浏览器。在大多数浏览器中,URl将显示证书详细信息。您可以单击它们选择查看证书。那么如果你正在使用IE& chrome转到详细信息选项卡,然后单击"复制到文件"按钮。在Firefox中再次转到详细信息选项卡,然后单击"导出"按钮。这将为您提供.cer(加密Shell扩展)文件。或者,如果浏览器没有帮助,您可以使用openssl s_client -connect {HOSTNAME}:{PORT} -showcerts使用命令keytool -import -v -file path_to_yourfile.cer -keystore path_to_your.jks -storepass anypassword来获取证书。(我没有尝试过这个;))

  2. 创建.jks文件:现在需要将.cer文件转换为.jks(Java密钥库)文件。 Java附带了keytool.exe文件。您可以在jdk_folder \ bin或jre_folder \ bin中找到它。发出命令System.setProperty("javax.net.ssl.trustStore", "path_to_your.jks"); Connection.Response docd = Jsoup.connect("https://webrater.infinityagents.com/start.do") .cookie("JSESSIONID", sessionID) .referrer("https://webrater.infinityagents.com/start.do") .followRedirects(true) .execute();

  3. 设置javax.net.ssl.trustStore属性:在调用jsoup之前设置此系统属性,如下所示。

    {{1}}