我最近一直在使用Android开发,我得出结论,设计所谓的AndroidHttpClient和相关代码的人必须来自谷歌的Chrome团队,因为这些库显然适用于想要构建浏览器的人,而不是想要使用HTTP客户端作为其软件的一部分的人。
在我过去编写的代码中,HTTP客户端库本质上是一个Web浏览器,减去了渲染器。您指定一个请求,它会准确返回用户在Web浏览器中提交相同请求时所收到的内容。但AndroidHttpClient不会这样做。具体来说,如果没有开发人员的大量干预,它不会遵循重定向,也不会处理cookie。 (尝试将两者混合,通过将登录发布到返回会话cookie和302重定向的服务器,然后尝试检索Web浏览器中假设用户最终看到呈现的相同HTML,这是一项非常困难的任务。)
有人在推荐Android Async-HTTP时对此进行了讨论,我看了一下。它使得设置POST请求和处理回复变得更加简单,但仍然无法处理重定向(并且实际上使重定向处理更加困难),并且仍然将开发处理cookie的负担放在开发人员而不是库中。
所以我在这里问。是否有任何适用于Android的库充当实际HTTP客户端,如“浏览器减去渲染器等功能”?我正在寻找一个允许我定义GET或POST请求的库,调用一个方法,给我一个包含与Web浏览器最终渲染相同的HTML的String
,并保留实现细节我的头发。
对Android有什么相似的东西吗?