重用Jsoup连接

我喜欢Jsoup解析html,但是他们的连接有问题,我需要向同一个网站发送请求但是查询参数不同,比如“id = XXX”,请求是这样的:

http://website/?id=XXX

我不想为每个id创建一个新连接,而是为所有id请求保留一个连接,这是我的代码:

Connection conn = null;

..
if (_conn == null) {
 _conn = Jsoup.connect("http://website/";
}
doc = _conn.data("id", id).get()
..

但似乎它只是第一次起作用,然后每次我的代码运行时重复相同的请求,在这种情况下我只能查询第一个id,即使我在其他时间传递不同的id.我怎么能解决这个问题?

最佳答案 我已经设法通过改变_conn.url()来实现某种重用;对于每个请求

所以在你的情况下会是这样的

String siteUrl = "http://website/";
Connection _conn = Jsoup.connect(siteUrl);
int[] ids = {1,2,3};
for (int i : ids) {
    _conn.url(siteUrl + "?id=" + i);
    Document doc = _conn.get();
}

在我看来,这比改变_conn.request().data()要优雅得多,但看起来这是唯一的方法.

希望能帮助到你.

点赞