java - HttpClient 只响应一行 XML

标签 java android apache httpclient

我正在使用 HttpClient 获取 XML 文件,但在返回整个文档时遇到问题(它只返回 XML 文件的一行)。所以:

DefaultHttpClient c = new DefaultHttpClient();
BasicResponseHandler r = new BasicResponseHandler();

String s = null;
try
{
    s = c.execute(new HttpGet("http://localhost/activity.xml"), r);
}
catch (Exception e)
{
    e.printStackTrace();
}

Log.i(TAG, s);

结果字符串总是<?xml version="1.0" encoding="UTF-8"?>

我需要做些什么来告诉 HttpClient 加载整个文件或处理换行符或其他什么吗? XML 非常简单:

<?xml version="1.0" encoding="UTF-8"?>
<project>
    <group-id type="integer">2187</group-id>
    <icon type="integer">2</icon>
    <name>Android</name>
    <overview>android app</overview>
    <permalink>codebase</permalink>
    <start-page>tickets</start-page>
    <status>active</status>
</project>

最佳答案

如果您将 BasicResponseHandler 作为响应处理程序传递,则 execute 的结果应该是整个响应主体。

如果您只收到一行,我的理论是这就是服务器发送的所有内容。

查看服务器日志,看看在生成响应正文时是否抛出异常。 (例如,如果您使用 JSP 进行渲染,抛出的异常无法通过 HTTP 状态代码报告回客户端。相反,客户端将看到带有截断正文的 200 响应。)

关于java - HttpClient 只响应一行 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4942075/

相关文章:

php - 尝试使用 ErrorDocument 时出现 404 Not Found 错误

apache - 无法配置 Apache2 以禁用 SSLv3

java - 如何测试非法访问异常?

java - 从 DFA 中提取语言的算法

android - Google 登录后端服务器身份验证

android - 在应用程序加载时隐藏软键盘

android - 具有自定义 View 的 RadioButton Android

php - CENTOS/HTTPD 内存问题

java - java并发包中是否有任何执行器可以保证所有任务都按照提交的顺序完成?

javascript - 我想在node.js中发送消息而无需输入 key