欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java jsoup获取cookie_java – 如何使用jsoup维护变量cookie和会话?

发布时间:2024/7/5 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java jsoup获取cookie_java – 如何使用jsoup维护变量cookie和会话? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

这段代码非常令人困惑.流程不合逻辑,异常处理很糟糕.像if(p!= path)和if(cookys!= cookies)之类的对象引用比较没有任何意义.要比较对象的内容,您需要使用equals()方法.

到目前为止,我知道您希望在同一个域上的一堆后续Jsoup请求中维护cookie.在这种情况下,您需要基本遵循以下流程:

Map cookies = new HashMap();

// First request.

Connection connection1 = Jsoup.connect(url1);

for (Entry cookie : cookies.entrySet()) {

connection1.cookie(cookie.getKey(), cookie.getValue());

}

Response response1 = connection1.execute();

cookies.putAll(response1.cookies());

Document document1 = response1.parse();

// ...

// Second request.

Connection connection2 = Jsoup.connect(url2);

for (Entry cookie : cookies.entrySet()) {

connection2.cookie(cookie.getKey(), cookie.getValue());

}

Response response2 = connection2.execute();

cookies.putAll(response2.cookies());

Document document2 = response2.parse();

// ...

// Third request.

Connection connection3 = Jsoup.connect(url3);

for (Entry cookie : cookies.entrySet()) {

connection3.cookie(cookie.getKey(), cookie.getValue());

}

Response response3 = connection3.execute();

cookies.putAll(response3.cookies());

Document document3 = response3.parse();

// ...

// Etc.

这可以重构为以下方法:

private Map cookies = new HashMap();

public Document get(url) throws IOException {

Connection connection = Jsoup.connect(url);

for (Entry cookie : cookies.entrySet()) {

connection.cookie(cookie.getKey(), cookie.getValue());

}

Response response = connection.execute();

cookies.putAll(response.cookies());

return response.parse();

}

可以用作

YourJsoupWrapper jsoupWrapper = new YourJsoupWrapper();

Document document1 = jsoupWrapper.get(url1);

// ...

Document document2 = jsoupWrapper.get(url2);

// ...

Document document3 = jsoupWrapper.get(url3);

// ...

请注意,即将推出的Jsoup 1.6.2将附带一个新的Connection#cookies(Map)方法,该方法应该使循环每次都是多余的.

总结

以上是生活随笔为你收集整理的java jsoup获取cookie_java – 如何使用jsoup维护变量cookie和会话?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。