【发布时间】:2013-12-18 09:34:21
【问题描述】:
现在我知道what's an http entity。但是实体是做什么用的呢?
我的意思是,当应用程序操作一个 http 请求或响应时,它只需要知道如何解析消息头和消息体。那么实体的作用是什么?它们具有几乎相似的结构。
【问题讨论】:
现在我知道what's an http entity。但是实体是做什么用的呢?
我的意思是,当应用程序操作一个 http 请求或响应时,它只需要知道如何解析消息头和消息体。那么实体的作用是什么?它们具有几乎相似的结构。
【问题讨论】:
我真的不明白你想问什么?
如果您的意思是我们可以在响应和请求中完全跳过使用 HttpEntity 吗?答案是不! 这是您必须遵循的约定,即互联网的运作方式!
引用 apache 文档中的实体:
由于实体可以表示二进制和字符内容,它 支持字符编码(支持后者,即。 字符内容)。
实体在请求成功时创建,用于 阅读回复。
要从实体中读取内容,您可以检索输入 通过 HttpEntity.getContent() 方法进行流式传输,该方法返回一个 InputStream,或者你可以提供一个输出流给 HttpEntity.writeTo(OutputStream) 方法,将全部返回一次 内容已写入给定流。
当作为响应的结果接收到实体时,方法 getContentType() 和 getContentLength() 方法用于读取 公共标头分别是 Content-Type 和 Content-Length(如果它们 可用)。由于 Content-Type 标头可以包含一个字符 文本 mime 类型的编码,如 text/plain 或 text/html, getContentEncoding() 方法用于读取此信息。如果 标头不可用,将返回 -1 的长度,并且 NULL 对于内容类型。如果 Content-Type 标头可用,则 [Header] 对象将被返回。
为请求创建实体时,此元数据必须是 由实体的创建者提供。
使用 getHeaders() 读取响应中的其他标头 来自响应对象的方法。
来源:http://wiki.apache.org/HttpComponents/HttpEntity
如果我没有正确回答您的问题,我再次感到抱歉,但希望这对您有所帮助。
【讨论】: