【发布时间】:2015-06-25 01:44:03
【问题描述】:
我想访问本地 Apache Web 服务器及其文件,比如http://foo.com/cats.jpg
我不希望我的客户看到图像,而是接收数据,显示其文件大小和数据传输的持续时间并刷新文件。我怎样才能用 Java HTTP 代码做到这一点?
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://foo.com/cats.jpg");
HttpResponse response = client.execute(request);
// Get the response but don't show the content, just file size and duration of data transfer
感谢您的帮助!
【问题讨论】:
-
你能用
response.getLastHeader("Content-Length").getValue()吗? -
这个方法到底是做什么的?我猜它获取文件的大小,但不是数据传输时间? :)
-
当您执行
html get操作时,它会返回一个响应。该响应包含带有重要信息的标头以及内容(在本例中为 .jpg 文件)。 header可以告诉你长度,mime-type等。如果你需要显示文件长度,你可以用我提到的函数来获得。 -
太好了!太感谢了!关于如何测量数据传输(或连接)时间的任何想法?
-
要测量时间,您可以在执行
get操作之前获取当前时间,然后再减去当前时间。使用System.currentTimeMillis(),差异会告诉您操作花费了多少毫秒。
标签: java apache http data-transfer