java - Android网络请求的最优解决方案(HttpURLConnection 与HttpClient)
天蓬老师
天蓬老师 2017-04-17 14:43:41
[Java讨论组]

安卓的网络请求实在是坑太多了,像什么字符集引起的中文乱码,就不说了。
各种隐藏的坑,越深入越觉得可怕。

比如:

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<NameValuePair>,好吧,没问题,但是HttpURLConnection就必须手动向OutputStream里写数据,然后POST参数的键值对的字符串都要转码,要考虑=&等等特殊符号,卧槽。

我就想知道,有木有现成的好用的代码示例或者JAVA框架什么的啊。
比如官方的代码示例,第三方的开源框架,一些说明的比较清楚的博客什么的都可以……
(话说官方不是推荐网络请求用HttpURLConnection写嘛,为毛我感觉真心没HttpClient好用啊?)

大家都是怎么写的啊?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
黄舟

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

怪我咯

在服务与客户端分开使用时,双方统一请求响应编码方式是基本的要求
编码:怪我咯?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号