我正在进行我的API REST,我发现在很多示例中,人们使用EntityUtils.toString(response)
将response
从String
GET
POST
转移到PUT
{1}},DELETE
和HttpGet method = new HttpGet(url);
method.setHeader("content-type", "application/json");
HttpResponse response = httpClient.execute(method);
String responseString = EntityUtils.toString(response.getEntity());
方法。与此类似:
String
请避免向我说出这些给我带来帮助的答案
我知道它返回给我String
一个实体的内容(在这种情况下是响应)但是这里是我怀疑的地方,因为我对这个{{1}不安全}返回。我在官方文档中看到了它。
读取实体的内容并将其作为String返回。
content-type
中返回的String
是什么?
相反,我使用我的方法得到的String
中返回的值是什么?
我认为这是第二个问题,但我对此并不安全。并且,如果确实如此,这些值如何存储到String
?他们被昏迷或某些特殊人物分开了吗?
提前致谢!
答案 0 :(得分:2)
HttpEntity
表示HTTP响应正文的内容。 EntityUtils.toString(HttpEntity)
将该内容解释为String
并将其返回给您。
如果您的HTTP响应是这样的
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: 80
<?xml version="1.0" encoding="utf-8"?>
<root>
<nested attr="whatever" />
</root>
然后String
返回的EntityUtils.toString(HttpEntity)
将只包含
<?xml version="1.0" encoding="utf-8"?>
<root>
<nested attr="whatever" />
</root>
答案 1 :(得分:1)
请注意EntityUtils.toString的默认字符集:
使用提供的默认值将实体内容作为String获取 字符集,如果在实体中找不到。如果是defaultCharset null,使用默认的“ISO-8859-1”。
org.apache.http.util.EntityUtils.toString(response.getEntity, "UTF-8");