Android 使用HTTP Get方式提交数据,出现response code == 400
下面是sendGetRequest源码:
Java codepublic class HttpRequest {
// 利用get方法在url后添加imei参数传递给web端,同时web端将匹配imei的命令cmd通过response方法返回
public static String sendGetRequest(String path, Map<String, String> params, String enc) throws Exception{
StringBuilder sb = new StringBuilder(path);
sb.append('?');
// ?imei=
//把Map中的数据迭代附加到StringBuilder中
for(Map.Entry<String, String> entry : params.entrySet()){
//URLEncoder.encode对字符串中文进行编码,防止乱码
sb.append(entry.getKey()).append('=')
.append(URLEncoder.encode(entry.getValue(), enc)).append('&');
}
//去掉最后一个字符&
sb.deleteCharAt(sb.length()-1);
//把组拼完的路径传到URL对象
URL url = new URL(sb.toString());
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//设置请求方式,GET要大写
conn.setRequestMethod("GET");
//设置过期时间为5秒
conn.setConnectTimeout(5 * 1000);
conn.getErrorStream();
//"200"代表请求成功
if(conn.getResponseCode()==200){
return sb.toString();
}
return null;
}
}
调试结果是在if(conn.getResponseCode()==200)时ResponseCode==400,上网找了多个方法都无效,没使用代理,用的远程桌面连接编写程序,系统配置无权限改,求急救。
网上有说是tomcat的编码方式不是UTF-8而是ISO88591-1,需要用过滤器实现编码方式切换(原文在这儿:http://blog.163.com/hf_savior/blog/static/1849320312011323113551496/),但是我看过之后也没看懂该怎么改,有没有谁能完整地解释一下应该怎么解决这个问题的,非常感谢。
相关推荐
Android端使用get post 方法提交数据到服务器demo
Android端使用get post 方法提交数据到服务器demo 传智播客张泽华Android视频54-57代码 包括web和Android端 仅供学习
老旧安卓设备AI聊天应用部署指南:OAC项目实战与优化
在移动应用开发中,系统兼容性与硬件资源优化是永恒的技术挑战。其核心原理在于通过架构设计平衡客户端性能与功能需求,例如采用瘦客户端-胖服务端的模式,将计算密集型任务卸载到云端。这种技术方案的价值在于能够最大化利用现有设备潜能,尤其适用于资源受限的物联网或边缘计算场景。具体到安卓生态,针对Android 4.x/5.x等低版本系统的应用部署,常涉及SDK版本降级、网络库兼容性处理以及APK体积优化等工程实践。本文以OAC(Old Android Chat)项目为例,详细拆解了如何在老旧设备上通过云端代理架构实现
Android中post和get的提交方式【三种】
向服务器提交数据有两种方式,post和get。两者的区别主要有三点,安全性、长度限制、数据结构。其中get请求安全性相比较而言较差,数据长度受浏览器地址栏限制,没有方法体。两种都是较为重要的数据提交方式。现简单介绍一下三种post和get的提交方式。无论是哪种方法实现post和get,get 的访问路径都要携带数据,而post提交是把数据放在方法体中。 普通方法实现get/post提交: 严格遵照Http协议进行数据传输。在安卓开发环境下,由于主线程不能进行网络访问,因此需要在开启一个子线程向服务器提交数据。为了更加直观的观察数据,可以在程序屏幕上显示服务器反馈信息。又由于子线程无法更
安卓之使用http-get协议从服务器获取数据
myhttp是本地搭建的项目资源以其作为服务器。
Android通过get,post方式客户端与服务器端交互实例
Android通过get,post方式客户端与服务器端交互实例,一个简单的demo,在客户端中输入参数,传给服务器端并打印出来。


