从dropbox url下载忽略范围

时间:2014-06-17 08:46:30

标签: java android http dropbox httpconnection

如果我想从dropbox url下载文件,我的http标头范围将被忽略:

httpRequest = new HttpGet(url.toURI());
httpRequest.addHeader("Range", "bytes=" + startPos + "-"    + dwnInfo.getStopRange());
httpRequest.addHeader("Accept-Encoding", "");

因此,不是让我的文件以5mb的5块为单位下载,而是连接忽略指定的范围并下载x块的Y mb,其中y是文件的完整大小。

从亚马逊storange链接下载我没有任何问题。

其他人遇到过这种情况?这只发生在几天前。直到现在这都不是问题。

我试图查看dropbox dev页面,但没有看到任何指定是否删除了网址上可接受范围的内容

1 个答案:

答案 0 :(得分:3)

您提供的链接是一个HTML页面(总大小约为46KB),因此即使范围检索在那里工作,它也不会非常有用。

根据https://www.dropbox.com/help/201/en,您可以将共享链接转换为指向该文件的直接链接,方法是将域名更改为dl.dropboxusercontent.com,这样您的链接就会变为https://dl.dropboxusercontent.com/s/5c7atlfmacjf3qn/02%20Armin%20Van%20Buuren%20-%20A%20State%20Of%20Trance%20Year%20Mix%202013%20%28Cd%202%29.mp3,并且范围检索适用于此URL。

(我在这里使用httpie。)

$ http get https://dl.dropboxusercontent.com/s/5c7atlfmacjf3qn/02%20Armin%20Van%20Buuren%20-%20A%20State%20Of%20Trance%20Year%20Mix%202013%20%28Cd%202%29.mp3 range:bytes=0-0
HTTP/1.1 206 PARTIAL CONTENT
Connection: keep-alive
Content-Length: 1
Content-Type: audio/mpeg
Date: Wed, 18 Jun 2014 14:53:32 GMT
Server: nginx
accept-ranges: bytes
cache-control: max-age=0
content-range: bytes 0-0/146014047
etag: 346n
pragma: public
set-cookie: uc_session=2cqmevWxG8lmGt743KMXebc23dRC5iuZEfm8Etx6V2VShWk60jmnUJajFnH1wRG4; Domain=dropboxusercontent.com; Path=/; secure; httponly
x-dropbox-request-id: 2f0c5986a62cf2f0b06af1704ece5bd7
x-server-response-time: 535

I