HttpWebRequest or WebRequest - Resume Download ASP.NET

不问归期 提交于 2019-11-27 00:24:35

问题


I would like to know if there is a way to know if a server supports resume download functionallity and if supported, how do I send a request to resume?

I was looking for a solution where my ASP.NET page can do a download from a server to mine, something like "rapidleech" does today, but I would like to check if the server where i'm requesting the download supports resume functionallity.


回答1:


Resuming files is done by specifying the byte range of the file you would like to download using the Range HTTP header. This can be done in .NET with the HttpWebRequest.AddRange function.

For example:

request.AddRange(1000); 

Will tell the server to begin sending at the 1000th byte of the file.

If the server supports the Range header, it will send the content with an HTTP status of 206 (Partial Content) instead of the normal 200 (OK). See the HTTP Spec.

To check if the server supports resuming before attempting the download, change the HttpWebRequest's Method "HEAD". The server will return 206 (Partial Content) if it supports resuming, and 200 (OK) if it does not.




回答2:


You can find more information on Range specific requests by Scott Mitchell here



来源:https://stackoverflow.com/questions/1336203/httpwebrequest-or-webrequest-resume-download-asp-net

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!