10 post方式提交数据到服务器
#get方式和post方式的区别:
1.请求的URL地址不同:
post:"http://192.168.13.83:8080/servlet/LoginServlet"
get:http://192.168.13.83:8080/servlet/LoginServlet?username=root&pwd=123
2.请求头不同:
****post方式多了几个请求头:Content-Length Cache-Control Origin
openConnection.setRequestProperty("Content-Length", body.length()+"");
openConnection.setRequestProperty("Cache-Control", "max-age=0");
openConnection.setRequestProperty("Origin", "http://192.168.13.83:8080");
****post方式还多了请求的内容:username=root&pwd=123
//设置UrlConnection可以写请求的内容
openConnection.setDoOutput(true);
//获取一个outputstream,并将内容写入该流
openConnection.getOutputStream().write(body.getBytes());
3.请求时携带的内容大小不同
get:1k
post:理论无限制
1 post方式提交数据乱码的解决
一般在公司开发客户端和服务端的编码要保持一致。
android端的默认编码是utf-8;
做url请求时需要对参数进行URLEncode编码.
URL url = new URL("http://192.168.13.83:8080/servlet/LoginServlet?username="+URLEncoder.encode(username)+"&pwd="+URLEncoder.encode(password));
connection.setDoOutput(true);
connection.getOutputStream().write(parmes.getBytes());
2 get方式提交数据乱码解决
同上