我想知道是否有办法知道服务器是否支持恢复下载功能,如果支持,如何发送请求恢复?
我正在寻找一个解决方案,我的ASP.NET页面可以从服务器到我的下载,像今天的“rapidleech”,但我想检查我要求下载的服务器是否支持恢复功能.@H_301_3@
解决方法
通过使用Range HTTP标头指定要下载的文件的字节范围来完成恢复文件.这可以在.NET中使用
HttpWebRequest.AddRange
功能完成.
例如:@H_301_3@
request.AddRange(1000);
将告诉服务器在文件的第1000个字节开始发送.@H_301_3@
如果服务器支持Range头,它将发送HTTP状态为206(部分内容)而不是普通200(OK)的内容.见HTTP Spec.@H_301_3@
要在尝试下载之前检查服务器是否支持恢复,请更改HttpWebRequest的方法“HEAD”.如果服务器支持恢复,服务器将返回206(部分内容),如果没有,则返回200(OK).@H_301_3@