我尝试登录FACEBOOK与JSoup,当控制台应用程序或Tomcat服务器web应用测试,运行状况良好:Jsoups在谷歌应用程序引擎运行不正确
String userAgent = BrowserVersion.FIREFOX_38.getUserAgent();
Connection conn1 = Jsoup.connect("https://m.facebook.com");
Document document = conn1.userAgent(userAgent).execute().parse();
Element form = document.select("form").get(0);
Elements inputs = form.select("input");
Connection conn2 = Jsoup.connect(form.absUrl("action")).userAgent(userAgent);
for (Element input : inputs) {
conn2.data(input.attr("name"), input.val());
}
conn2.data("email", "[email protected]").data("pass", "mypass");
Connection.Response response1 = conn2.method(Connection.Method.POST).execute();
System.out.println(response1.url());
Document doc1 = response1.parse();
Elements h3 = doc1.select("h3");
for (Element element : h3) {
System.out.println(element.text());
}
response1.url()是https://m.facebook.com/home.php?_rdr
但是当我尝试与谷歌App Engine应用程序,它无法登录,但显示的页面与消息“你必须先登录”(我猜测,请求尝试访问其他一些URL)
我更改密码,使其不正确,它显示不正确的密码的页面。所以我认为使用正确的密码,请求会转到正确的页面。但为什么使用正确的密码,它会重定向到其他页面? 我不认为控制台应用程序和GAE之间有任何不同的事情,使请求不同!
我会问你想做什么。它看起来像你试图连接到Facebook和登录。但是,您是否尝试过在尝试登录后重新连接到家中? – Gann14
@ Gann14是的,我试过了,仍然没有登录 – yelliver