开发者社区> 问答> 正文

Android网络请求的最优解决方案

安卓的网络请求实在是坑太多了,像什么字符集引起的中文乱码,就不说了。
各种隐藏的坑,越深入越觉得可怕。
比如:
URL url = new URL(UrlString);
HttpURLConnection urlConn = (HttpURLConnection)url .openConnection();
这里的UrlString如果直接用类似http://abc.com/中文.php就会报错。
必须写成URL编码的格式,http://abc.com/%e4%b8%ad%e6%96%87.php才行。
但是:

HttpPost httpRequest = new HttpPost(UrlString);

用这种方法的,就可以直接写http://abc.com/中文.php没问题。
写成URL编码的格式,http://abc.com/%e4%b8%ad%e6%96%87.php也没问题。
然后关于传递参数的问题,HttpClient是用的List,好吧,没问题,但是HttpURLConnection就必须手动向OutputStream里写数据,然后POST参数的键值对的字符串都要转码,要考虑=和&等等特殊符号,卧槽。
我就想知道,有木有现成的好用的代码示例或者JAVA框架什么的啊。
比如官方的代码示例,第三方的开源框架,一些说明的比较清楚的博客什么的都可以……
(话说官方不是推荐网络请求用HttpURLConnection写嘛,为毛我感觉真心没HttpClient好用啊?)

展开
收起
蛮大人123 2016-02-22 15:04:20 3063 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    http库还是挺多的,可以看看google官方的 volly,或者是 okhttp.

    2019-07-17 18:46:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
可编程网络视角的网络创新研究 立即下载
可编程网络和SDN3.0 立即下载
开放促进创新:构建开放网络生态 立即下载