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