HttpWebRequest или WebRequest - Возобновление загрузки ASP.NET - PullRequest
9 голосов
/ 26 августа 2009

Хотелось бы узнать, есть ли способ узнать, поддерживает ли сервер все функции загрузки резюме и, если поддерживается, как отправить запрос на возобновление?

Я искал решение, в котором моя страница ASP.NET может загружать файлы с сервера на мой сервер, что-то вроде " rapidleech ", но сегодня я хотел бы проверьте, поддерживает ли сервер, с которого я запрашиваю загрузку, функцию возобновления.

Ответы [ 2 ]

24 голосов
/ 26 августа 2009

Возобновление файлов выполняется путем указания диапазона байтов файла, который вы хотите загрузить, используя HTTP-заголовок Range. Это можно сделать в .NET с помощью функции HttpWebRequest.AddRange.

Например:

request.AddRange(1000); 

Скажет серверу начать отправку с 1000-го байта файла.

Если сервер поддерживает заголовок Range, он будет отправлять контент с HTTP-статусом 206 (частичное содержимое) вместо обычного 200 (ОК). См. HTTP Spec .

Чтобы проверить, поддерживает ли сервер возобновление, перед попыткой загрузки, измените HttpWebRequest s Method "HEAD". Сервер вернет 206 (Частичное содержимое), если он поддерживает возобновление, и 200 (ОК), если нет.

2 голосов
/ 27 августа 2009

Более подробную информацию о запросах на диапазон можно найти по Скотт Митчелл здесь

...