我喜欢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。我怎么能解决这个问题?
答案 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()
要优雅得多,但似乎这是唯一的方法。
希望它有所帮助。