0
我正在尝试使用java & jsoup登录到我的帐户到此网站。但不管我在这里做了什么更改&,我只是返回登录页面作为回应。我一定有什么问题?使用Jsoup POST POST登录和Cookie数据
我已经使用Firefox的Firebug,Chrome和Fiddler来查看正在发送的值。我在jsoup上的StackOverflow上查看了一些其他答案,并相信我遵循正确的过程。如果有人能看到我的错误,我会很感激帮助。
String loginURL = "http://members.permaculturedesigncourse.com/login";
String dashURL = "http://members.permaculturedesigncourse.com/dashboard";
String sUserName = "[email protected]";
String sPass = "mypassword";
try {
Connection.Response login_get_res = Jsoup
.connect(loginURL)
.method(Connection.Method.GET)
.execute();
Element mySession = login_get_res.parse().getElementById("new_user_session");
String authenticityToken = mySession.select("input[name=authenticity_token]").first().val();
Map<String, String> cookiesFromGet = login_get_res.cookies();
Connection.Response login_post_res = Jsoup
.connect(loginURL)
.data("authenticity_token", authenticityToken)
.data("user_session[email]", sUserName)
.data("user_session[password]", sPass)
.data("user_session[remember_me]", "0")
.data("x", "0")
.data("y", "0")
.referrer(loginURL)
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36")
.cookies(cookiesFromGet)
.timeout(12000)
.method(Connection.Method.POST)
.execute();
Document return_page = login_post_res.parse();
String title = return_page.title();
} catch (IOException e) {
e.printStackTrace();
}
我欣赏额外的编辑,但您对AbstractHttpClient的引用已被弃用。我可能已经通过更改为: – 2014-10-23 19:32:40
我欣赏额外的编辑,但您对AbstractHttpClient的引用已被弃用。我可能已通过更改为: CookieStore cookieStore =(CookieStore)((AbstractHttpClient)httpClient).getCookieStore(); \t \t 但是你的mapCookie()方法没有解决。 此外,我可能会误解,但这不是我尝试登录的我的网站。我在另一家公司的网站上有一个帐户。所以我无法“对您的站点代码进行一些更改以检查是否发送了POST变量” – 2014-10-23 19:35:35