重用 Jsoup 连接

use*_*587 5 jsoup

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

http://website/?id=XXX
Run Code Online (Sandbox Code Playgroud)

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

Connection conn = null;

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

但它似乎只适用于第一次,然后每次我的代码运行时重复相同的请求,在这种情况下,即使我在其他时间传递不同的 id,我也只能查询第一个 id。我该如何解决这个问题?

Ale*_*man 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();
}
Run Code Online (Sandbox Code Playgroud)

在我看来,这比改变更不优雅_conn.request().data(),但似乎这是唯一的方法。

希望能帮助到你。