【发布时间】:2011-12-21 10:29:12
【问题描述】:
我在我的 PC(Windows 7 64 位、Eclipse、Java)和 Android 虚拟机上运行相同的代码,得到不同的结果。
它是一个小程序,可以将 HttpResponse 完全打印为字符串。
PC 上的结果:
HTTP/1.1 405 方法不允许 [允许:GET,HEAD,日期:星期四,2011 年 11 月 3 日 17:57:22 GMT,内容类型:text/html; charset=UTF-8,服务器:gws,内容长度:11816,X-XSS-Protection:1; mode=block, X-Frame-Options: SAMEORIGIN]
Android 上的结果:
org.apache.http.message.BasicHttpResponse@44ec9da8
我在 PC 上运行的代码是:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"http://www.google.com");
try {
HttpResponse response = httpclient.execute(httppost);
System.out.println(response.toString());
在 Android 上:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"http://www.google.com");
try {
HttpResponse response = httpclient.execute(httppost);
return response.toString();
我问是因为我写了一个可以在 PC 上运行的应用程序 - 与 HttpResponse 内容一起工作 - 但在 android 上似乎根本没有内容......
谁能解释一下?或者告诉我如何在android上获取响应内容(标题)作为字符串?
【问题讨论】:
-
您是否在两者上使用相同版本的 httpClient? Andoid 的 httpClient 是一些 4beta...
-
我强烈建议 not 将
toString()方法的输出用于任何实际的程序行为——它只是不可靠。而是从HttpResponse获取特定部分或将其作为一个整体返回。
标签: java android http response httpresponse