android最健壮的HTTP库是什么?

android最健壮的HTTP库是什么?,android,http,Android,Http,我正在寻找一个处理HTTP POST、multipart等的库。是否有一个事实上的标准库使这些请求在android上变得更容易?是的。它被称为httpclient,Android上它的javadoc根位于。通过http,它可以做任何你想做的事情,包括POST和multipart。看看,尤其是DroidFu。它们是ApacheCommonsHTTP内容的一个相当薄的包装器,但是它们非常适合大多数需求。它包括一些细节,比如可选的HTTP和模型缓存,甚至还有“为什么它没有内置到平台中”之类的东西,比如

我正在寻找一个处理HTTP POST、multipart等的库。是否有一个事实上的标准库使这些请求在android上变得更容易?

是的。它被称为httpclient,Android上它的javadoc根位于。通过http,它可以做任何你想做的事情,包括POST和multipart。

看看,尤其是DroidFu。它们是ApacheCommonsHTTP内容的一个相当薄的包装器,但是它们非常适合大多数需求。它包括一些细节,比如可选的HTTP和模型缓存,甚至还有“为什么它没有内置到平台中”之类的东西,比如GZip。(旁白:当您需要下拉以获得更多控制时,这是对旧股票DefaultHttpClient的一个很好的升级,但它只是Android 2.2+版本,而且文档记录相当少)

如果您只需要一个最小麻烦的多部分,您可以尝试,尽管我从未尝试过

编辑:


DroidFu现已停产。这些天,如果我开始一个新项目,我几乎肯定会使用,如果我需要更多的控制(如果你想两者都做,你甚至可以使用OKHttp作为volley的传输层)。

如果你想使用keep alives和gzip,并且不想经历随机超时错误,不幸的是,你不能简单地使用一个库

在9以下的Android SDK版本上,您需要使用apache库。在Android SDK版本9-13上,apache库存在问题(随机超时),您需要使用HttpUrlConnection

不幸的是,在我对ICS的测试中,HttpUrlConnection确实存在缺陷,您现在需要使用Apache库

谷歌关于这个主题的官方帖子:

我在ICS上发现的问题:
使用Kevin Sawicki的http请求

看一看

概述:一个基于异步回调的Android Http客户端构建在Apache的HttpClient库之上。所有请求都是在应用程序的主UI线程之外发出的,但任何回调逻辑都将在使用Android处理程序消息传递创建回调的同一线程上执行


该库曾被Instagram、Pinterest、Heyzap等流行应用程序使用。

我一直在做一些事情。它使用创建POJO的处理程序和加载程序扩展loopj库。

我最喜欢的是(完成,正在积极开发)。它是建立在(如果你不需要离子功能,可以单独使用)之上的

  • 异步下载
  • 为Android设计的易于使用的Fluent API
  • HTTP POST/PUT
  • HTTP功能和优化的透明使用
  • 查看收到的标题
  • 请求的分组和取消
  • 下载进度回调
  • 支持文件:/、http:/、内容:/URI
  • 请求级日志记录和分析
  • 支持代理服务器(如Charles proxy)进行请求分析
  • 基于NIO和AndroidSync
  • 能够使用自签名SSL证书

我说的是“健壮”,我正在寻找一个基于这些标准API调用的库,以简化post。这个轮子已经解决很多次了。啊,我不知道它们有那么难。如果您发现了什么,请告诉我。类似这样的内容:但更健壮。不清楚如何在droidfuUse
BetterHttpRequest
post
方法中设置http post参数,例如名称/值对,以构造请求;向其传递URL和HTTP实体(对于简单的名称/值对,您只需传递一个由s组成的列表。Android已根据停止支持其Apache HttpClient。最好有一个库包装这两者,并根据操作系统版本代码选择使用哪一个。在截取和改装之间,您会选择哪一个?谢谢回答中的大多数链接是giVENG 404错误。您能更新链接吗?我最近遇到了这个异步HTTP库,但还没有尝试。它是为了简化异步HTTP处理而构建的。非常适合异步请求的库,唯一的问题是我无法访问HTTP请求响应的响应头。不要使用Loopj AsyncHttp客户端,它真的很糟糕,线程死亡,你甚至不知道,非常糟糕的线程池。ION更好地使用这个OKHttp看起来尽可能简单::
OkHttpClient Client=new OkHttpClient();Request Request=new Request.Builder().url(url.build();Response Response=Client.newCall(Request.execute());return response.body().string();
非常好用,简单易用的库。如果需要,还具有一些更高级的功能。如gzip、缓存、http代理等。非常好的库,比android异步http更容易使用。但同样好。