我正在制作一个程序来获取任何网址的响应时间...
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
for(int i=0; i<20; i++ ) {
long starTime = System.currentTimeMillis();
conn.connect();
long elasedTime = System.currentTimeMillis() - starTime;
System.out.println(elasedTime);
conn.disconnect();
}
但大多数时候它给我的输出结果为 0..请有人帮助我! 我需要捕获从请求的最后一位到响应的第一位的时间。
最佳答案
简单地打开连接根本不需要任何时间。您需要实际从 URL 获取内容才能获得有意义的基准。您还将 url.openConnection()
移至基准循环的外部,这有点奇怪。
所以改变你的循环,以便:
- 将
url.openConnection()
移至循环内 - 在
conn.connect()
之后添加对conn.getInputStream()
的调用。 - (也许)读取
InputStream
的内容 - 这可能不是必需的,具体取决于您要测量的内容 - 最重要的是,阅读
HttpURLConnection
的 JavaDoc 以正确理解这些方法的真正用途。
关于java - 网址响应时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615207/