我在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>[email protected]</email>
</result>
这很容易解析。但是,在Java中,我得到“ [email protected]”,值之间没有分隔符。 LDAP必须返回必要的信息,因为我可以通过JS实现获得所需的信息。有没有一种方法可以从
HttpResponse
对象获得可分析的结果? 最佳答案
发送带有请求的“接受”标头。也许服务器默认发送纯文本。
getRequest.setHeader(HttpHeaders.ACCEPT, "application/xml");
[或者,如果那不起作用的话]
getRequest.setHeader(HttpHeaders.ACCEPT, "text/xml");