【问题标题】:Connecting to Iframe using JSoup使用 JSoup 连接到 iframe
【发布时间】:2014-06-09 13:57:07
【问题描述】:

我正在使用 JSoup 使用此页面中的凭据进行连接:

https://www.particulares.santandertotta.pt/bepp/sanpt/usuarios/loginrefeicao/0,,,0.shtml

它会重定向到一个新页面:

https://www.particulares.santandertotta.pt/pagina/indice/0,,841_1_2,00.html

其中包含一个 Iframe,其中包含我需要的信息。 iframe的url是:

https://www.particulares.santandertotta.pt/bepp/sanpt/tarjetas/listadomovimientostarjetarefeicao/0,,,0.shtml

问题是我无法连接到该页面。我用来输入这个 iframe 的代码就是这个

//the variable 'data' are the credentials stored in a map
Response response = Jsoup.connect("https://www.particulares.santandertotta.pt/bepp/sanpt/tarjetas/listadomovimientostarjetarefeicao/0,,,0.shtml").data(data).timeout(15000).method(Method.GET).execute();

每次我运行这段代码并解析结果时,它都会给我一些消息,说我的访问被拒绝是由于安全原因长时间保持连接。

有人可以向我解释我做错了什么吗? 谢谢。

【问题讨论】:

标签: java iframe jsoup


【解决方案1】:

有人可以向我解释我做错了什么吗?

在这种情况下,Jsoup 可能做错了什么。为了找到幕后发生的事情,请按照以下步骤操作:

第 1 步 / 启动您喜欢的浏览器

清空其缓存。启动您的开发者控制台并要求它向您显示浏览器完成的每个请求以及它与服务器之间交换的标头。 IMO,您可以使用更方便的工具,例如 Fiddler 来监视您的浏览器请求。

第 2 步/让您的 Jsoup 代码运行

现在是时候使用 Jsoup 监视您的代码了。再次使用 Fiddler 之类的工具来获取代码和服务器交换的请求和标头。

第 3 步/比较间谍请求

对于您的浏览器和您的 Jsoup 代码发出的每个请求,并排比较它们。比较并排交换的标头。您可能会发现 Jsoup 不会重新发送服务器设置的 cookie。您可能会发现服务器尝试质询您的代码,但在您的浏览器通过质询时它失败了......

让原力与你同在... ;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 2020-10-01
    • 1970-01-01
    • 2013-04-10
    • 2019-04-04
    • 2011-10-31
    相关资源
    最近更新 更多