AndroidHttpClient和DefaultHttpClient

时间:2011-02-27 21:00:25

标签: java android

这两者之间是否存在很大差异?最好使用哪一种?

3 个答案:

答案 0 :(得分:27)

基于Android源代码:

https://github.com/CyanogenMod/android_frameworks_base/blob/gingerbread/core/java/android/net/http/AndroidHttpClient.java#L106

AndroidHttpClient设置为执行以下额外设置:

  1. 关闭过时检查,因为连接可能会一直中断。
  2. 设置ConnectionTimeout和SoTimeout(20或60秒)
  3. 关闭重定向。
  4. 使用SSL套接字的会话缓存。
  5. 如果可能,请在客户端和服务器之间使用gzip压缩流量。
  6. 默认情况下不保留Cookie。

答案 1 :(得分:10)

AndroidHttpClient:Apache DefaultHttpClient的子类,配置了Android的合理默认设置和注册方案,还允许用户添加HttpRequestInterceptor类。 此客户端处理cookie但默认情况下不保留它们。要保留cookie,只需将cookie商店添加到HttpContext

即可

[API]

答案 2 :(得分:3)

来自Android开发人员的这个有趣的 blog post 概述了不同Android的HTTP客户端。

根据这篇文章, URLConnection 应优先于Gingerbread及以上版本的DefaultHttpClient或AndroidHttpClient。