我正在尝试登录https://www.wheeloffortune.com/account通过JSoup。这是我认为只有帖子相关的html我需要:
<form action="/account/Login" id="form-login-page" method="post">
<fieldset id="registration-login-modal-fieldset" class="standard-info">
<label for="email">Email<span class="notification">*</span></label>
<input autocomplete="off" data-required="true" data-val="true" data-val-regex="A valid email address is required." data-val-regex-pattern="^([0-9a-zA-Z]+[-._'+&])*[_0-9a-zA-Z]+@([-_0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}$" data-val-required="Email is required" id="LoginEmail" maxlength="100" name="LoginEmail" type="text" value="" />
<label for="password">Password<span class="notification">*</span></label>
<input autocomplete="off" data-required="true" data-val="true" data-val-required="Password is required" id="LoginPassword" maxlength="20" name="LoginPassword" type="password" />
<a id="modal-forgot-password-link" href="/modal-pages/ForgotPasswordModal" class="js-modal">I forgot my password</a>
<div id="registration-modal-legal-checkbox">
<div class="form-error-modal-checkbox">
<input data-val="true" data-val-required="The RememberMe field is required." id="RememberMe" name="RememberMe" type="checkbox" value="true" /><input name="RememberMe" type="hidden" value="false" />
</div>
<label for="RememberMe" class="label-right preference-modal-options">Remember Me</label>
<input id="ReturnUrl" name="ReturnUrl" type="hidden" value="/" />
</div>
</fieldset>
<input id="submit-login-modal-form" type="image" src="/content/img/images/modal/register/btn-login.png" value="login" class="submit">
</form>
这是我的相关Java代码:
Connection.Response loginForm = Jsoup.connect(this.site)
.userAgent(this.userAgent)
.method(Connection.Method.GET)
.execute();
Document document = Jsoup.connect(this.site)
.userAgent(this.userAgent)
.data("LoginEmail", <email>)
.data("LoginPassword", <password>)
.cookies(loginForm.cookies())
.post();
System.out.println(document);
我的文档连接检索网站;但它仍然让我注销。我的请求做错了什么?
尝试还包括"记住我"one_answers"返回Url"输入,我已经查看了网站发出的登录请求,它似乎发送了4个输入字段:用户名、密码,记住我和返回Url。因此,请尝试以下代码:
Connection.Response loginForm = Jsoup.connect(this.site)
.userAgent(this.userAgent)
.method(Connection.Method.GET)
.execute();
Document document = Jsoup.connect(this.site)
.userAgent(this.userAgent)
.data("LoginEmail", <email>)
.data("LoginPassword", <password>)
.data("RememberMe", "false")
.data("ReturnUrl", "/")
.cookies(loginForm.cookies())
.post();
System.out.println(document);