有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java URLConnection setRequestProperty“Range”头获取HTTP 416?旋度工作

我需要使用“Range”标题继续用我的安卓应用程序下载部分下载的文件

conn.setRequestProperty("Range", "bytes=" + this.downloadedBytes + "-");

当我把它记录到logcat上时,我只看到我拥有的东西

conn.getRequestProperties().toString()
{Range=[bytes=3129-]}

我的服务器使用HTTP 416进行响应,无法满足范围要求。我在apache访问日志中看到了这个响应。我得到了一个IOException(java.io.FileNotFoundException),这是我猜测它如何处理416,就像处理404一样。这是一个完全正常的响应,除了curl对同一个文件非常有效

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

我在安卓/java方面遗漏了什么?当curl工作正常时,让apache返回416的请求又如何呢


共 (0) 个答案