Как показано на HTTP скачать что-то, ответ WebResponse = request.GetResponse (); ответ отладки Рисунок
ContentLength 0 Content-Range видео, но результаты значения загруженных байт-
Пересмотренный Кодекс:
публичный статический INT GetTotalSize ( строка URL) { HttpWebRequest запрос = (HttpWebRequest) HttpWebRequest.Create (URL); request.CookieContainer = BaseService.CookiesContainer; Ответ WebResponse = request.GetResponse (); INT Len = Int32.Parse (response.Headers [ " Content-Range " ] .ToString () Split (. новый символ [] { ' / ' }) [ 1 ]); вернуться Len; } публичный статический байт [] SendRangeGetRequest ( строка URL) { Попробовать { INT Len = GetTotalSize (URL); HttpWebRequest Request = (HttpWebRequest) WebRequest.Create (URL); request.method = " GET " , request.AddRange ( " байт " , 0 , длина); // это ключ , чтобы добавить его, ответ ContentLength имеет значение IF (CookiesContainer == нуль ) { CookiesContainer =Новый CookieContainer (); } Request.CookieContainer = CookiesContainer; // 启用печенья HttpWebResponse ответа = (HttpWebResponse) request.GetResponse (); Поток response_stream = response.GetResponseStream (); INT кол = ( INT ) response.ContentLength; INT смещение = 0 ; байты [] ЬиЙ = новый байт [число]; в то время как (число> 0 ) // 读取返回数据 { INT п = response_stream.Read (BUF, смещение, счет); если (п == 0 ) перерыв ; кол - = п; Смещение + = N; } Вернуть БУФЫ; } Поймать { возвращение нуль ; } }
Наконец File.WriteAllBytes (SavePath, байт), вы можете загрузить на локальный