。如何多个网络查询没有多个连接?
问题描述:
我正在用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 ..所以它可能有可能得到3区数据只有1个连接(略多于0.8秒的时间)。
可以吗?
答
除非创建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
你有没有考虑加载/从作业队列中,而不是存储需求? –
谢谢。但我不明白(对不起,我是初学者)。你能解释更多吗? [我正在制作天气应用程序。在我的应用程序中,有10个预先注册的区域。当应用程序启动时,用户选择一个区域。由于我没有自己的服务器,我想在Splash加载期间使用Jsoup从网站获取10个地区的天气数据。但是,它需要很长的时间(约5〜6秒)。 ] –