我试图阻止org.apache.http.client.HttpClient(link text)在资源超过10 MB时下载正文。
我在这里搜索后做了什么,其他人做了一个HEAD调用,然后检查Content-Length标题,如果它是< 10MB,做一个GET电话,最后对响应机构做点什么。
这会有更好的解决方案吗?我想避免额外的电话。
感谢。
答案 0 :(得分:2)
您可以随时拨打常规电话并检查长度,如果长度为> 10MB然后就打破并取消下载。但问题是在取消之前套接字仍会尽可能多地下载。我认为做一个HEAD调用是最好的方法。
答案 1 :(得分:2)
最好的方法是使用HTTP HEAD,因为HEAD请求文件或资源上的仅标头信息(在RFC1945,第8.2节中规定)。
根据HEAD调用的响应,检索Content-Length
邮件标头,查看大小是否小于或大于10MB。
执行GET将导致返回完整的实体主体。
Apache HttpClient(版本3)支持HTTP HEAD。