【问题标题】:Apache Http Client in AndroidAndroid 中的 Apache Http 客户端
【发布时间】:2013-05-16 19:37:24
【问题描述】:

我正在尝试从 Android 的网页中获取整个 html。

在 java 控制台应用程序中,我曾经这样做过:

DefaultHttpClient httpclient = new DefaultHttpClient();
String busca = "kindle";        
HttpGet httpGet = new HttpGet("http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords="+busca);
try {
    ResponseHandler<String> manipulador = new BasicResponseHandler();
    String resposta = httpclient.execute(httpGet,manipulador);
    }

} finally {
    httpGet.releaseConnection();
}

我尝试在我的 Android 应用程序中做同样的事情,但我没有工作!

这个库可以在 Android 上运行吗?

import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;

有没有更好的方法在 Android 上以字符串形式获取页面 html 代码?

感谢您的帮助!

【问题讨论】:

  • 究竟会发生什么?发布您的日志或从服务器返回的 HTTP 响应。
  • 首先,“finally”中的代码向我显示了一个错误,所以我将其删除并放入 catch (Exception e) { return e.getMessage().toString(); } 在它的位置。现在它没有给我任何错误。但我试图在 textView 中显示字符串 resposta(谁应该拥有整个 HTML),但它是空白的!在调试模式下,我可以看到“尝试”中的代码不起作用。它抛出一个异常..
  • 编辑问题以包含异常的详细信息。

标签: java android html apache http


【解决方案1】:

我用另一个 URl 完成了它,它起作用了 :)

也许我使用的那个页面的 HTML 代码很大,可以保存在字符串中或显示在文本中

【讨论】:

    【解决方案2】:

    您可以在此获得战利品: HttpClient 4.0.1 - how to release connection?

    HttpRequestBase.releaseConnection() 4.2版本引入

    【讨论】:

      猜你喜欢
      • 2018-03-02
      • 2012-10-01
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 2017-08-30
      • 1970-01-01
      相关资源
      最近更新 更多