我在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
对象获得可解析的结果?
答案 0 :(得分:1)
发送&#34;接受&#34;带有请求的标头。也许服务器默认发送纯文本。
getRequest.setHeader(HttpHeaders.ACCEPT, "application/xml");
[或者,如果那不起作用]
getRequest.setHeader(HttpHeaders.ACCEPT, "text/xml");