使用用户名和密码发送POST请求后,如何使用Jsoup保存Cookie?或者我必须先提供给连接对象然后保存?
解决方法
假设
HTML表单如下所示:
<form action="http://example.com/login" method="post">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" name="login" value="Login" />
</form>
您可以POST并获取如下所示的cookies:
Response response = Jsoup.connect("http://example.com/login")
.method(Method.POST)
.data("username",username)
.data("password",password)
.data("login","Login")
.execute();
Map<String,String> cookies = response.cookies();
Document document = response.parse(); // If necessary.
// ...
您可以按照以下要求回传cookies:
Document document = Jsoup.connect("http://example.com/user")
.cookies(cookies)
.get();
// ...
或者如果您知道个人Cookie名称:
Document document = Jsoup.connect("http://example.com/user")
.cookie("SESSIONID",cookies.get("SESSIONID"))
.get();
// ...