HttpWebRequest AddRange 方法查询

本文关键字:查询 方法 AddRange HttpWebRequest | 更新日期: 2023-09-27 18:31:55

在 HttpWebRequest AddRange 方法中,我们可以指定要下载的字节范围。我想知道的是如何指定从某个偏移量到文件末尾的范围。

就像如果我们不知道文件的长度,我们可以在请求标头字符串中指定

"范围:字节 = 0 - "这意味着,从第一个字节开始到文件末尾。

但是使用方法AddRange,如何使用EOF的一个偏移值来指定它?

我知道我可以获取内容长度并像这样指定,AddRange(0,ContentLength)。但我问是否有任何方法可以使内容从某个"偏移"值达到 EOF。

HttpWebRequest AddRange 方法查询

对 AddRange 方法使用正值来获取从偏移量到实体末尾的字节;

 request.AddRange(10)

告诉服务器返回除前 10 个字节之外的所有字节。

您可以使用负值,这是终点;

 request.AddRange(-10)

告知服务器返回字节 0 到 10。

您只需要使用不同于 0 的起始值调用 AddRange 方法。

像这样:

myHttpWebRequest.AddRange(50,ContentLength);

根据范围规范,

如果最后一个字节位置值不存在,或者该值大于 或等于实体主体的当前长度,最后一个字节位置为 取为等于比实体的当前长度少 1- 正文(以字节为单位)。

换句话说,您的Range: bytes = 0 -应该起作用。事实上,HttpWebRequest有一个方法,AddRange(Int32),它完全符合你的要求。