HttpWebRequest设置Range报异常:找不到对应属性如何解决?
解决HttpWebRequest设置Range请求头的报错问题
哈哈,这个坑我之前踩过!你说得完全对,Range是HttpWebRequest的受限请求头之一,和User-Agent这类头一样,不能直接用wReq.Headers.Add("Range", "ValueHere")来设置,必须用专门的方法。其实HttpWebRequest早就给你准备好了——**AddRange()**方法,有几种实用的重载,我给你列出来:
只指定起始字节:如果你想获取从某一字节开始到文件末尾的内容,直接传起始位置就行:
HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create("你的目标URL"); // 请求从第100字节开始的所有内容 wReq.AddRange(100);指定起始和结束字节:要获取一段固定范围的内容,就传两个参数:
// 请求第100到200字节的内容(包含两端) wReq.AddRange(100, 200);指定范围单位(可选):大部分服务器只支持
bytes单位,不过如果你有特殊需求,也可以明确指定:wReq.AddRange("bytes", 100, 200);
用这个方法之后,HttpWebRequest会自动帮你生成符合规范的Range请求头,再也不会弹出那个“The 'Range' header must be modified using the appropriate property or method”的报错啦!
内容的提问来源于stack exchange,提问作者Ibrahim D.
相关产品推荐
相关产品推荐

