【问题标题】:reuse the Jsoup connection重用 Jsoup 连接
【发布时间】:2012-11-25 03:00:50
【问题描述】:

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

【问题讨论】:

    标签: jsoup


    【解决方案1】:

    我已经设法通过为每个请求更改 _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() 要优雅得多,但似乎这是唯一的方法。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-04
      • 2013-04-10
      • 1970-01-01
      • 2014-06-09
      • 2017-07-19
      • 2019-01-15
      • 2012-12-27
      • 1970-01-01
      相关资源
      最近更新 更多