【发布时间】:2009-08-26 17:03:49
【问题描述】:
我想知道是否有办法知道服务器是否支持恢复下载功能,如果支持,我如何发送恢复请求?
我正在寻找一种解决方案,让我的 ASP.NET 页面可以从服务器下载到我的服务器,就像今天的“rapidleech”一样,但我想检查一下我请求下载的服务器支持恢复功能。
【问题讨论】:
标签: c# asp.net httpwebrequest webrequest
我想知道是否有办法知道服务器是否支持恢复下载功能,如果支持,我如何发送恢复请求?
我正在寻找一种解决方案,让我的 ASP.NET 页面可以从服务器下载到我的服务器,就像今天的“rapidleech”一样,但我想检查一下我请求下载的服务器支持恢复功能。
【问题讨论】:
标签: c# asp.net httpwebrequest webrequest
通过使用Range HTTP 标头指定要下载的文件的字节范围来恢复文件。这可以在 .NET 中使用 HttpWebRequest.AddRange 函数完成。
例如:
request.AddRange(1000);
将告诉服务器从文件的第 1000 个字节开始发送。
如果服务器支持 Range 标头,它将发送 HTTP 状态为 206(部分内容)的内容,而不是正常的 200(OK)。请参阅HTTP Spec。
要在尝试下载之前检查服务器是否支持恢复,请更改HttpWebRequest 的Method“HEAD”。如果服务器支持恢复,则返回 206(Partial Content),不支持则返回 200(OK)。
【讨论】:
您可以通过Scott Mitchell here 找到有关 Range 特定请求的更多信息
【讨论】: