重用Jsoup连接

时间:2012-12-06 23:29:33

标签: 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。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分: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()要优雅得多,但似乎这是唯一的方法。

希望它有所帮助。