【问题标题】:Apache HttpResponse getting unformatted String instead of XMLApache HttpResponse 获取未格式化的字符串而不是 XML
【发布时间】:2018-06-15 16:11:52
【问题描述】:

我在 servlet 上有一些 Java 代码来执行 LDAP 查找:

HttpClient client = new DefaultHttpClient();
HttpGet getRequest = new HttpGet(theURL);
HttpResponse getResponse = client.execute(getRequest);
InputStream in = getResponse.getEntity().getContent();
String encoding = "UTF-8";
String body = IOUtils.toString(in, encoding);

当用 Javascript 实现时,响应是一个 XML 样式的字符串,类似于

<result>
<firstName>Bob</firstName>
<lastName>Smith</lastName>
<email>bobsmith@example.com</email>
</result>

这很容易解析。然而,在 Java 中,我得到“BobSmithbobsmith@example.com”,值之间没有分隔符。 LDAP 必须返回必要的信息,因为我通过 JS 实现获得了我需要的信息;有没有办法从HttpResponse 对象中获得可解析的结果?

【问题讨论】:

    标签: java apache servlets ldap httpresponse


    【解决方案1】:

    随请求发送“接受”标头。也许服务器默认发送纯文本。

    getRequest.setHeader(HttpHeaders.ACCEPT, "application/xml");
    

    [或者如果这不起作用]

    getRequest.setHeader(HttpHeaders.ACCEPT, "text/xml");
    

    【讨论】:

      猜你喜欢
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多