URLのファイルを部分的にダウンロードしたい。しかし、間違ったコンテンツ サイズが返され、その理由がわかりませんでした。リモートファイルにはAccept-Ranges=bytes
どのように解決できますか?
long start = 536871935, end = 805306878;
string url = "http://ipv4.download.thinkbroadband.com/1GB.zip";
var request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362";
request.AllowAutoRedirect = true;
request.Method = "GET";
request.Timeout = 5000;
request.ReadWriteTimeout = 3000;
request.AddRange(start, end);
var response = (HttpWebResponse)request.GetResponse();
if (response.ContentLength != end - start + 1)
throw new Exception(string.Format("Returned content size is wrong; start={0}, end={1}, returned = {2}, shouldbe = {3}",
start, end, response.ContentLength, end - start + 1));
タイプ 'System.Exception' の例外が Downloadmanager.exe で発生しましたが、ユーザー コードで処理されませんでした
追加情報: 返されたコンテンツのサイズが間違っています start=536871935, end=805306878, returned = 536869889, shouldbe = 268434944