gpt4 book ai didi

java - Apache HTTP 客户端或 URLConnection

转载 作者:IT老高 更新时间:2023-10-28 20:29:03 25 4
gpt4 key购买 nike

我需要在 Android 应用上下载一个网页,我很难决定是使用 Android Apache HTTP 客户端还是 Java 的 URLConnection。

有什么想法吗?

最佳答案

自 Gingerbread 以来,Google 一直默默地弃用 Apache HTTP 客户端:http://android-developers.blogspot.com/2011/09/androids-http-clients.html .虽然他们没有用过时的注释对其进行标记,但他们建议您将 HttpURLConnection 用于新应用程序,因为:这是我们 [Google] 将在未来花费精力的地方

我个人不喜欢这个决定,宁愿坚持使用 HttpClient 4.1+,因为它更快、错误更少并且会定期更新。虽然您不能将系统库升级到 4.1 版,但您可以将 HttpClient jar 包含到您的 Android 项目中(作为额外的好处,这将允许您不依赖 Google 错误修复和供应商更新)。但是有一个陷阱:为了防止可能与内置库发生冲突,您应该使用 JarJar 工具重命名 httpclient 包。原来有人已经这样做了(重新打包的 jar 和 Android 库项目可供下载):

http://code.google.com/p/httpclientandroidlib/

This is a repackaging of HttpClient 4.1 for Android. The version of HttpClient in the Android SDK is 4.0beta2. There have been several updates to HttpClient and some much-needed bugfixes like auth caching since the 4.0beta.

Since Google has deprecated HttpClient in favor of Java standard HttpURLConnection I created a script to convert a stock release of Apache's HttpClient into an Android library.

Changes to stock HttpClient

  • Renamed all packages org.apache.http to ch.boye.httpclientandroidlib
  • Deleted all classes dependent on org.ietf.* (SPNEGO authentication)
  • Replaced org.apache.commons.codec.binary.Base64 with android.util.Base64
  • Created a new class HttpClientAndroidLog to replace org.apache.commons.logging

关于java - Apache HTTP 客户端或 URLConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4799151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com