我使用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的网址是:
问题在于我无法连接到该页面。用于输入此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();
每次我运行此代码并解析结果时,它会给我一些消息,说明由于安全原因长时间保持连接,我的访问被拒绝了。
有人可以向我解释我做错了什么吗? 谢谢。
答案 0 :(得分:1)
有人可以向我解释我做错了什么吗?
在这种情况下,Jsoup可能做错了什么。要查找封面下的内容,请按以下步骤操作:
清空其缓存。启动您的开发人员控制台,并要求它向您显示浏览器完成的每个请求以及它与服务器之间交换的标头。 IMO,您可以使用更方便的工具,例如Fiddler,以便监视您的浏览器请求。
现在是时候用Jsoup监视你的代码了。再次使用像Fiddler这样的工具来获取代码和服务器交换的请求和标头。
对于浏览器发出的每个请求,您的Jsoup代码会将它们并排比较。比较并排交换的标头。您可能会发现Jsoup不会重新发送服务器设置的cookie。您可能会发现服务器试图挑战您的代码,并且当您的浏览器通过挑战时它会失败...
让力量与你同在......;)