5

我喜欢用 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。我该如何解决这个问题?

4

1 回答 1

2

我已经设法通过更改每个请求来实现某种重用,_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(),但似乎这是唯一的方法。

希望能帮助到你。

于 2013-01-05T19:54:36.860 回答