首页 > 解决方案 > 对 Google 云端硬盘文件的部分请求未返回预期内容

问题描述

我正在开发一个下载管理器。我试图从 Google Drive 下载内容。我曾经AddRange部分获取文件,但尽管Range:60000000-61000000返回正确的大小,但Range:600000000-610000000返回-1. 它不会溢出几乎 1.3GB 的文件大小。我不明白为什么会发生这个问题。我该如何解决?

var tabUrl = "https://drive.google.com/u/0/uc?export=download&confirm=03hU&id=0B1eUy3QmH0GJMnMzOTd0ZmxBTWs";
var url = "https://doc-0g-b4-docs.googleusercontent.com/docs/securesc/lsbj6u3i2broqhjlhh1rgl1pur9nv89c/2ipaf9daok4r1ccc59df1knp3itb6ov6/1608404475000/05822274146576777383/05815548638186256017/0B1eUy3QmH0GJMnMzOTd0ZmxBTWs?e=download&authuser=0&nonce=carmpci74c5ie&user=05815548638186256017&hash=dm8janki6hh5u70h2t9t83t2gq922app";
var request = (HttpWebRequest)WebRequest.Create(url);
var whc = new WebHeaderCollection();
request.SetHeaderValue("User-Agent", "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 = 30000;
request.KeepAlive = false;
request.ReadWriteTimeout = 3000;
before.Raise(null, new BeforeSendingRequestEventArgs(request));
request.AddRange(60000000, 61000000);

请求标头为 Json:

      {
         "name":"Sec-Fetch-User",
         "value":"?1"
      },
      {
         "name":"Sec-Fetch-Dest",
         "value":"document"
      },
      {
         "name":"sec-ch-ua",
         "value":"\"Google Chrome\";v=\"87\", \" Not;A Brand\";v=\"99\", \"Chromium\";v=\"87\""
      },
      {
         "name":"sec-ch-ua-mobile",
         "value":"?0"
      },
      {
         "name":"Referer",
         "value":"https://drive.google.com/"
      },
      {
         "name":"Accept-Encoding",
         "value":"gzip, deflate, br"
      },
      {
         "name":"Accept-Language",
         "value":"tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7"
      },
      {
         "name":"Cookie",
         "value":"AUTH_r6g6bi1696lsg9bjdc9ud1ssvo24su70_nonce=carmpci74c5ie"
      }
   ],
   "taburl":"https://drive.google.com/u/0/uc?export=download&confirm=03hU&id=0B1eUy3QmH0GJMnMzOTd0ZmxBTWs",
   "url":"https://doc-0g-b4-docs.googleusercontent.com/docs/securesc/lsbj6u3i2broqhjlhh1rgl1pur9nv89c/2ipaf9daok4r1ccc59df1knp3itb6ov6/1608404475000/05822274146576777383/05815548638186256017/0B1eUy3QmH0GJMnMzOTd0ZmxBTWs?e=download&authuser=0&nonce=carmpci74c5ie&user=05815548638186256017&hash=dm8janki6hh5u70h2t9t83t2gq922app",
   "filename":"Ins.rar",
   "size":0
}

标签: c#google-drive-apihttpwebrequesthttpwebresponsehttp-range

解决方案


推荐阅读