httpclient获取目标文件的一部分,httpClient.execute(httpGet);耗时太多,不需要一次性获取所有

wgf3341869 2013-11-08 03:56:19
在进行httpclient操作的时候发现一个问题就是
这是代码:
HttpGet httpGet = new HttpGet(url);
t1=System.currentTimeMillis();
HttpResponse response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
t1=System.currentTimeMillis();
InputStream stream=entity.getContent();

我需要从url中获得的数据并不需要全部,只需要前面很少的一部分,但是每次httpClient.execute(httpGet),都会把整份数据拿下来,造成浪费很多时间,不知道有什么处理方法。
注意不能用这招 httpGet.addHeader("Range", "bytes=0-"+(contentLength-1));
因为response.getStatusLine().getStatusCode()这个返回码不是206,不接受这种做法
...全文
203 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jongsuny 2013-11-21
  • 打赏
  • 举报
回复
你修改一下httclient的接收数据的那部分, 等你要的数据拿到了之后你强行断开连接。
善良的小聪哥 2013-11-20
  • 打赏
  • 举报
回复
用Jsoup抓取!!比httpclient更直接!!!给分吗!
wgf3341869 2013-11-12
  • 打赏
  • 举报
回复
大家,不要这样,给点意见

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧