Apache HttpResponse 获取未格式化的字符串而不是 XML
Apache HttpResponse getting unformatted String instead of XML
我在 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);
在 Java 脚本中实现时,响应是 XML 风格的字符串,类似于
<result>
<firstName>Bob</firstName>
<lastName>Smith</lastName>
<email>bobsmith@example.com</email>
</result>
这很容易解析。然而,在 Java 中,我得到 "BobSmithbobsmith@example.com",值之间没有分隔符。 LDAP 必须 return 必要的信息,因为我通过 JS 实现获得了我需要的信息;有没有办法从 HttpResponse
对象中得到可解析的结果?
发送 "accept" header 请求。可能服务器默认发送纯文本。
getRequest.setHeader(HttpHeaders.ACCEPT, "application/xml");
[或者如果这不起作用]
getRequest.setHeader(HttpHeaders.ACCEPT, "text/xml");
我在 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);
在 Java 脚本中实现时,响应是 XML 风格的字符串,类似于
<result>
<firstName>Bob</firstName>
<lastName>Smith</lastName>
<email>bobsmith@example.com</email>
</result>
这很容易解析。然而,在 Java 中,我得到 "BobSmithbobsmith@example.com",值之间没有分隔符。 LDAP 必须 return 必要的信息,因为我通过 JS 实现获得了我需要的信息;有没有办法从 HttpResponse
对象中得到可解析的结果?
发送 "accept" header 请求。可能服务器默认发送纯文本。
getRequest.setHeader(HttpHeaders.ACCEPT, "application/xml");
[或者如果这不起作用]
getRequest.setHeader(HttpHeaders.ACCEPT, "text/xml");