我试图阻止org.apache.http.client.HttpClient(link text)在资源超过10 MB时下载正文。当Java HttpClient调用资源很大时,有没有办法不下载主体?
我在这里搜索后做了什么,其他人做了HEAD调用,然后检查Content-Length标头,如果它是012MB,请进行GET调用,最后对响应主体做些什么。
会有更好的解决方案吗?我想避免额外的电话。
谢谢。
我试图阻止org.apache.http.client.HttpClient(link text)在资源超过10 MB时下载正文。当Java HttpClient调用资源很大时,有没有办法不下载主体?
我在这里搜索后做了什么,其他人做了HEAD调用,然后检查Content-Length标头,如果它是012MB,请进行GET调用,最后对响应主体做些什么。
会有更好的解决方案吗?我想避免额外的电话。
谢谢。
您可以随时拨打电话并检查长度,如果长度> 10MB,则可以暂停并取消下载。但问题是,在取消之前,套接字仍将尽可能下载。我认为做一个HEAD电话是最好的方法。
最好的办法是自从HEAD请求只有文件或资源(如RFC1945,第8.2节规定)的头信息做HTTP头。
根据HEAD调用的响应,检索Content-Length
消息头并查看大小是否小于或大于10MB。
做一个GET会导致返回完整的实体主体。
Apache HttpClient(版本3)支持HTTP HEAD。