美文网首页
URLConnection以post方式提交数据

URLConnection以post方式提交数据

作者: MengkZhang | 来源:发表于2019-05-11 08:17 被阅读0次

    post请求跟get请求的区别

    • 一 ☆☆☆☆☆☆☆和get方式提交数据 区别 路径不同
    String path = "http://192.168.11.73:8080/login/LoginServlet";
    
    • 二 ☆☆☆☆☆☆☆和get方式提交数据 区别 设置请求方式是post
    conn.setRequestMethod("POST");
    
    • 三 ☆☆☆☆☆☆☆和get方式提交数据 区别 要多设置2个请求头信息
                    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                    conn.setRequestProperty("Content-Length", data.length()+"");
    
    • 四 ☆☆☆☆☆☆☆ 把我们组拼好的数据提交给服务器 以流的形式提交
                    conn.setDoOutput(true);// 设置一个标记 允许输出 
                    conn.getOutputStream().write(data.getBytes());
    

    URLConnection以post方式提交数据时程序代码:

        // [1]点击按钮 进行post方式提交数据
        public void click2(View v) {
    
            
        new Thread(){public void run() {
                try {
                //[2]获取用户名和密码 
                String name = et_username.getText().toString().trim();
                String pwd = et_password.getText().toString().trim();
                //[2.1]定义get方式要提交的路径 
                
                String data = "username="+URLEncoder.encode(name, "utf-8")+"&password="+URLEncoder.encode(pwd,"utf-8")+""; //请求体的内容
                
                // 一 ☆☆☆☆☆☆☆和get方式提交数据 区别 路径不同
                
                String path = "http://192.168.11.73:8080/login/LoginServlet";
            
                    //(1) 创建一个url对象 参数就是网址 
                    URL url = new URL(path);
                    //(2)获取HttpURLConnection 链接对象
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    //(3)设置参数  发送get请求
                    
                //二 ☆☆☆☆☆☆☆和get方式提交数据 区别  设置请求方式是post
                    conn.setRequestMethod("POST"); //默认请求 就是get  要大写
                    //(4)设置链接网络的超时时间 
                    conn.setConnectTimeout(5000);
                    
                    
                //三      ☆☆☆☆☆☆☆和get方式提交数据 区别 要多设置2个请求头信息 
                    //设置头信息
                    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                    conn.setRequestProperty("Content-Length", data.length()+"");
                    
                
                    //四 ☆☆☆☆☆☆☆ 把我们组拼好的数据提交给服务器  以流的形式提交 
                    conn.setDoOutput(true);// 设置一个标记 允许输出 
                    conn.getOutputStream().write(data.getBytes());
                    
                    
                    //(5)获取服务器返回的状态码 
                    int code = conn.getResponseCode(); //200  代表获取服务器资源全部成功  206请求部分资源    
                    if (code == 200) {
                        //(6)获取服务器返回的数据  以流的形式返回   
                        InputStream inputStream = conn.getInputStream();
                        
                        //(6.1)把inputstream 转换成 string 
                        String content = StreamTools.readStream(inputStream);
                        
                        
                        //(7)把服务器返回的数据展示到Toast上  不能在子线程展示toast
                        showToast(content);
                        
                        
                    }
    
                } catch (Exception e) {
                    e.printStackTrace();
                }
            };}.start();
            
            
        }
    

    相关文章

      网友评论

          本文标题:URLConnection以post方式提交数据

          本文链接:https://www.haomeiwen.com/subject/ppmtaqtx.html