我在我的Android应用程序中使用jsoup,但问题是,html源需要花费太多时间下载。这是我的代码:
long t = System.currentTimeMillis();
String url = "http://www.stackoverflow.com/";
Document doc = null;
try {
Connection c = Jsoup.connect(url);
doc = c.get();
System.out.println(System.currentTimeMillis() - t);
} catch (IOException e) {
e.printStackTrace();
}
执行此代码需要1.265秒,这感觉非常奇怪,因为我可以在同一设备上使用网络浏览器在不到0.5秒的时间内下载整个网站(包含图像和所有好东西)。我做错什么了吗?或者也许有更快的方式来获取网站的HTML源?提前谢谢。
答案 0 :(得分:0)
你在哪里尝试这段代码?你的设备?如果您使用的是LTE / 3G网络,那就太过分了。
我能想到的另一个原因是,如果您使用Wifi,您的无线路由器并非位于设备的最佳位置。
从那段代码中我看不到任何可能导致更多延迟的事情。如果您没有缓存主机DNS条目并且服务器远离您,则1.2秒可能不会那么糟糕。
此外,尝试在比较时间时将代理设置为与浏览器相同。可能发生的情况是服务器基于用户代理给出不同的优先级。在这种情况下,您使用的是默认的Java用户代理。