使用用户名和密码发送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(); // ...