post 请求 application/x-www-form-urlencoded。android 中文 乱码
2016-05-19 16:07
567 查看
/** * 发送post请求 */ public static Object post(RequestVo vo){ DefaultHttpClient client = new DefaultHttpClient(); // LogUtil.w("URL:", vo.context.getString(R.string.app_host).concat(vo.context.getString(vo.requestUrl))); HttpPost post = new HttpPost(vo.requestUrl); HttpParams params = new BasicHttpParams();// params = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(params, 25000); //连接超时 HttpConnectionParams.setSoTimeout(params, 25000); //响应超时 post.setParams(params); post.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); Object obj = null; try { if(vo.requestDataMap!=null){ HashMap<String,String> map = vo.requestDataMap; StringBuilder sb = new StringBuilder(); ArrayList<NameValuePair> pairList = new ArrayList<NameValuePair>(); for(Map.Entry<String,String> entry:map.entrySet()){ BasicNameValuePair pair = new BasicNameValuePair(entry.getKey(), entry.getValue()); pairList.add(pair); //输出 请求结果 用于LogUtil 调试 sb.append(entry.getKey()).append("=").append(entry.getValue()) .append("&"); } LogUtil.e(vo.requestUrl+ "?"+sb.toString() ); HttpEntity entity = new UrlEncodedFormEntity(pairList,"UTF-8"); post.setEntity(entity); } HttpResponse response = null; try { response = client.execute(post);//包含响应的状态和返回的结果== } catch (IllegalArgumentException e) { } int responseCode = response.getStatusLine().getStatusCode();
原本在 请求post 的时候
new UrlEncodedFormEntity(pairList,"UTF-8"); 就 指定了编码格式 。 无奈 ,服务器接收到的的时候,还是乱码,返回的也是乱码 。 后来 有添加了 <pre name="code" class="java">post.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); 才搞好 。 应该和服务器开发 接口的有关系。
相关文章推荐
- Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法
- android 软键盘弹出 自动调整布局
- Android情景分析之深入解析zygote
- Objective-C实现无限循环轮播器
- Android学习,探究活动
- android 项目从后台跳到前台坑点。getApplication().startActivity 和 activity.startActivity
- iOS :undefined symbols for architecture x86_64
- Android开源天气预报应用Weather-Lite
- Android key 派发机制笔记
- 好看的移动端H5应用效果及样式借鉴
- Android的数据库(SQLite)学习
- iOS常用控件
- GitHub Android 开源项目汇总
- iOS手势学习
- iOS开发之数据存储
- 解决在onCreate()过程中获取View的width和Height为0的4种方法
- 在AndroidStudio中创建aidl文件
- 转:android 设计模式合集
- scrapy爬取某个手机app的文章数据
- iOS地图模块