2017-09-11 33 views
0

出于某种原因,以前的工作代码停止工作,并启动服务器是失败的交互过程中的HTTP客户端的日志与416谷歌云端硬盘API 416 HTTP代码响应

这里回应:

-------------- REQUEST -------------- 
GET https://www.googleapis.com/drive/v3/files/0B02Nopv3SQOvOVNKaDIwTEZ3MHd?alt=media 
Accept-Encoding: gzip 
Authorization: <Not Logged> 
Range: bytes=0-33554431 
User-Agent: My app Google-API-Java-Client Google-HTTP-Java-Client/1.22.0 (gzip) 

-------------- RESPONSE -------------- 
HTTP/1.1 416 Requested range not satisfiable 
Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35" 
Server: UploadServer 
Cache-Control: private, max-age=0 
Content-Range: bytes */0 
X-GUploader-UploadID: AEnB2UqBx9B09Lnr8tG761gdoz3DkhHSNO_OzHh1LkU6B2908v17rnBGQZSNW4ZVTjbRdFtvPWWIqZGdtSrTo6ZWN7YW9nxf6d 
Vary: X-Origin 
Vary: Origin 
Expires: Mon, 11 Sep 2017 15:23:20 GMT 
Content-Length: 225 
Date: Mon, 11 Sep 2017 15:23:20 GMT 
Content-Type: application/json; charset=UTF-8 

我试图下载一个大约200000字节的文件,所以我认为“卡盘大小”的含义在某处发生了变化,所以它不能给出282757字节文件的33554431个字节。试图改变一个较小的值,但没有成功。

Drive.Files.Get get = drive.files().get(file.getId()) 

MediaHttpDownloader downloader = get.getMediaHttpDownloader() 

downloader.directDownloadEnabled = false 

localFile.newOutputStream() 
get.executeMediaAndDownloadTo(stream) 

直接下载也不起作用,它只是下载“0”字节。 有谁知道如何解决这个问题?

回答

0

416 Range Not Satisfiable 错误表示服务器无法提供所请求的范围。 最有可能的原因是该文档不包含这样的范围, 或范围标题值虽然在语法上正确,但不是 是合理的。

一个可以从这个forum提供的决议是:

添加“接受范围:无”到我们的响应头。

+0

我想试试,但MDN中指出,接受-范围是响应头,即应在服务器端设置https://developer.mozilla.org/ru/docs/的Web/HTTP /头/接受,范围 – Valya

相关问题