Java 通过JSoup使用Post登录站点
我正在尝试通过JSoup登录。以下是我认为唯一需要的与帖子相关的html:Java 通过JSoup使用Post登录站点,java,html,post,cookies,jsoup,Java,Html,Post,Cookies,Jsoup,我正在尝试通过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">
<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);
Connection.Response loginForm=Jsoup.connect(this.site)
.userAgent(this.userAgent)
.method(Connection.method.GET)
.execute();
Document Document=Jsoup.connect(this.site)
.userAgent(this.userAgent)
.数据(“LoginEmail”,)
.数据(“登录密码”)
.cookies(loginForm.cookies())
.post();
系统输出打印项次(文件);
我的文档连接检索站点;但它仍然让我注销。我的请求有什么问题?尝试包括“记住我”和“返回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);
Connection.Response loginForm=Jsoup.connect(this.site)
.userAgent(this.userAgent)
.method(Connection.method.GET)
.execute();
Document Document=Jsoup.connect(this.site)
.userAgent(this.userAgent)
.数据(“LoginEmail”,)
.数据(“登录密码”)
.数据(“记住”、“错误”)
.数据(“返回URL”和“/”)
.cookies(loginForm.cookies())
.post();
系统输出打印项次(文件);
我试一试,我的状态仍然是注销状态。还有其他想法吗?