我需要使用“Range”标题继续使用我的Android应用程序下载部分下载的文件。
conn.setRequestProperty("Range", "bytes=" + this.downloadedBytes + "-");
当我将其记录到logcat时,我只看到了我的
conn.getRequestProperties().toString()
{Range=[bytes=3129-]}
我的服务器正在使用HTTP 416进行响应,无法满足范围。我在apache访问日志中看到了这个响应。我得到一个IOException(java.io.FileNotFoundException),这是我对它如何处理416的猜测,就像404一样。这是一个完全正常的响应,除了卷曲完全适用于同一个文件!
curl -I --header "Range: bytes=3129-` ...
我得到了预期的HTTP 200响应:
Last-Modified: Fri, 27 Mar 2015 15:26:59 GMT
Accept-Ranges: bytes
Content-Length: 1915
Cache-Control: max-age=0
Expires: Fri, 27 Mar 2015 19:17:33 GMT
Vary: Accept-Encoding
Content-Range: bytes 3129-5043/5044
Content-Type: text/html
我在android / java方面缺少什么?当curl工作正常时,请求是什么让apache服务回416?