Java HttpUrlConnection读取分块响应
我正在做一个项目,我必须使用HttpUrlConnection(Android~)来读取输入流 事实证明,当我读取输入流时,数据的格式不正确,并且与原始内容(由服务器发送)相比大小更大。现在,服务器响应头包含“内容长度”和“传输编码:分块”,据我所知,这是一个问题,因为它们不应该共存 除此之外,从HttpUrlConnection接收的输入流包含所有正文内容(带有块偏移量信息) 我有两个问题:Java HttpUrlConnection读取分块响应,java,android,http,Java,Android,Http,我正在做一个项目,我必须使用HttpUrlConnection(Android~)来读取输入流 事实证明,当我读取输入流时,数据的格式不正确,并且与原始内容(由服务器发送)相比大小更大。现在,服务器响应头包含“内容长度”和“传输编码:分块”,据我所知,这是一个问题,因为它们不应该共存 除此之外,从HttpUrlConnection接收的输入流包含所有正文内容(带有块偏移量信息) 我有两个问题: HttpUrlConnection不应该处理分块数据吗 如何从没有分块信息的输入流中获取数据 Htt
- HttpUrlConnection不应该处理分块数据吗
- 如何从没有分块信息的输入流中获取数据
\n\n
或\r\n\r\n
,因此HttpUrlConnection将其视为实际传输的一部分
如果您想获取原始数据,请使用套接字并连接到正确端口上的url(对于ssl,可能是80443)
编辑:connect()方法下的状态
与资源互动;查询标题字段和内容
这表明URLConnection在从任何类型的提供的读取器中读取任何内容之前,都会查询头信息。请原谅我第一次没有包括这一点。您能分享一些说明HttpUrlConnection可以做到这一点的文档吗?另外,由于具有查看标题字段的方法,这表明它在标题中读取。