【Android-009】【提交数据】

Android学习目录

项目源码下载

提交数据

GET方式提交数据

  • get方式提交的数据是直接拼接在url的末尾
        final String path = "http://192.168.1.104/Web/servlet/CheckLogin?name=" + name + "&pass=" + pass;
  • 发送get请求,代码和之前一样
        URL url = new URL(path);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setReadTimeout(5000);
        conn.setConnectTimeout(5000);
        if(conn.getResponseCode() == 200){

        }
  • 浏览器在发送请求携带数据时会对数据进行URL编码,我们写代码时也需要为中文进行URL编码
        String path = "http://192.168.1.104/Web/servlet/CheckLogin?name=" + URLEncoder.encode(name) + "&pass=" + pass;

POST方式提交数据

  • post提交数据是用流写给服务器的
  • 协议头中多了两个属性
    • Content-Type: application/x-www-form-urlencoded,描述提交的数据的mimetype
    • Content-Length: 32,描述提交的数据的长度
            //给请求头添加post多出来的两个属性
            String data = "name=" + URLEncoder.encode(name) + "&pass=" + pass;
            conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            conn.setRequestProperty("Content-Length", data.length() + "");
  • 设置允许打开post请求的流
        conn.setDoOutput(true);
  • 获取连接对象的输出流,往流里写要提交给服务器的数据
        OutputStream os = conn.getOutputStream();
        os.write(data.getBytes());

你可能感兴趣的:(android,get,post,提交数据)