J汤。如何在没有多个连接的情况下进行多个网页查询?

问题描述 投票:0回答:1

我正在使用 Jsoup 制作 Android 应用程序。我的代码如下。

String URL = “http://www.example.com/queryDFSRSS.jsp?zone=“
String zone_1 = “001”;
String zone_2 = “002”;
String zone_3 = “003”;

Document doc = Jsoup.connect(URL+zone_1).get();
. . . . 
doc = Jsoup.connect(URL+zone_2).get();
. . . . .
doc = Jsoup.connect(URL+zone_3).get();
.. . . . 

需要很长时间。 (大约2.4秒..我猜,每个连接0.8秒)

但是,我认为它们是相同的 URL.. 所以可能只有 1 个连接才能获取 3 个区域数据(比 0.8 秒稍多一些)。

有可能吗?

java android url jsoup
1个回答
1
投票

除非您创建 org.jsoup.Connection 的新实现,否则不可能向 Jsoup 添加连接池。

在底层,Jsoup 使用 org.jsoup.helpers.HTTPConnection 作为该接口的实现。

特别是,您需要修改 Response 类处理 java.net.HttpURLConnection 对象的方式。这是当前的实现:

HTTPConnection.Response.execute(Connection.Request req, Response previousResponse) {

    HttpURLConnection conn = createConnection(req);
    ...
    conn.connect();
    ...
    conn.disconnect();

}

https://github.com/jhy/jsoup/tree/master/src/main/java/org/jsoup/helper

© www.soinside.com 2019 - 2024. All rights reserved.