我正在使用HttpWebRequest并希望在下载整个响应之前检查响应的ContentLength。但是在打电话时:
var res = request.GetResponse(); // entire response is being downloaded
var len = res.ContentLegth; // need only this value
如何在C#中实现这一目标?
答案 0 :(得分:2)
您需要发出HEAD请求,而不是GET。然后,这将仅返回响应中的HTTP标头。
所有标准化的HTTP请求类型都记录在案here。
答案 1 :(得分:1)
好的,所以问题中的原始代码确实有效,它只下载" HEAD"在致电" GetResponse" ContentLength是可用的。 它对我来说没有用,因为我得到的资源有一个" chunked"转移编码。 这仍然应该有效,如果我没有用fiddler open测试它,在ContentLength中返回-1。当小提琴手遇到一个" chunked"响应它试图下载所有内容,即使只是调用" req.GetResponse()"。