Я пытаюсь войти в свою учетную запись на этот веб-сайт, используя java & jsoup. Но независимо от того, какие изменения я здесь сделал &, я просто возвращаю страницу входа в качестве ответа. У меня должно быть что-то не так?Использование Jsoup для входа в систему и данные cookie
Я использовал Firefox Firebug, Chrome и Fiddler, чтобы узнать, какие значения отправляются. Я посмотрел на некоторые другие ответы здесь, на StackOverflow на jsoup, и считаю, что я выполняю правильную процедуру. Если кто-нибудь увидит мои ошибки, я буду благодарен за помощь.
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 устарела. Я, возможно, получил его, изменив его на: –
Я ценю дополнительную правку, но ваша ссылка на AbstractHttpClient устарела. Я, возможно, получил его, перейдя на: CookieStore cookieStore = (CookieStore) ((AbstractHttpClient) httpClient) .getCookieStore(); \t \t Но ваш метод mapCookie() не устраняет. Кроме того, я мог бы ошибиться, но это не мой сайт, на который я пытаюсь войти. У меня есть учетная запись на сайте другой компании. Поэтому я не могу «внести некоторые изменения в код вашего сайта, чтобы проверить, были ли отправлены переменные POST» –