Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpUrlConnection读取分块响应_Java_Android_Http - Fatal编程技术网

Java HttpUrlConnection读取分块响应

Java HttpUrlConnection读取分块响应,java,android,http,Java,Android,Http,我正在做一个项目,我必须使用HttpUrlConnection(Android~)来读取输入流 事实证明,当我读取输入流时,数据的格式不正确,并且与原始内容(由服务器发送)相比大小更大。现在,服务器响应头包含“内容长度”和“传输编码:分块”,据我所知,这是一个问题,因为它们不应该共存 除此之外,从HttpUrlConnection接收的输入流包含所有正文内容(带有块偏移量信息) 我有两个问题: HttpUrlConnection不应该处理分块数据吗 如何从没有分块信息的输入流中获取数据 Htt

我正在做一个项目,我必须使用HttpUrlConnection(Android~)来读取输入流

事实证明,当我读取输入流时,数据的格式不正确,并且与原始内容(由服务器发送)相比大小更大。现在,服务器响应头包含“内容长度”“传输编码:分块”,据我所知,这是一个问题,因为它们不应该共存

除此之外,从HttpUrlConnection接收的输入流包含所有正文内容(带有块偏移量信息)

我有两个问题:

  • HttpUrlConnection不应该处理分块数据吗
  • 如何从没有分块信息的输入流中获取数据

HttpUrlConnection应该在处理分块数据,您是对的。您看到这些头的事实意味着它们可能在某个地方格式不正确,并且某些东西已经发送了
\n\n
\r\n\r\n
,因此HttpUrlConnection将其视为实际传输的一部分

如果您想获取原始数据,请使用套接字并连接到正确端口上的url(对于ssl,可能是80443)

编辑:connect()方法下的状态

与资源互动;查询标题字段和内容


这表明URLConnection在从任何类型的提供的读取器中读取任何内容之前,都会查询头信息。请原谅我第一次没有包括这一点。

您能分享一些说明HttpUrlConnection可以做到这一点的文档吗?另外,由于具有查看标题字段的方法,这表明它在标题中读取。