Я пытаюсь войти в facebook с помощью JSoup, при тестировании с консольным приложением или сервером Tomcat serverapp, он работает хорошо:
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
Но когда я пытаюсь использовать приложение Google App Engine, он не может войти в систему, но показывает страницу с сообщением "вам нужно сначала войти" (я думаю, что запрос пытается получить доступ к другому URL-адресу)
Я изменяю пароль, чтобы сделать его неправильным, он показывает страницу с неправильным паролем. Поэтому я думаю, что с правильным паролем запрос перейдет на нужную страницу. Но почему с правильным паролем он перенаправляется на другую страницу? Я не думаю, что между консольным приложением и GAE есть что-то другое, что делает запрос другим!