zoukankan      html  css  js  c++  java
  • HTTP使用get,post方式连接

    在项目中使用了http的get和post方式连接,发送传输数据;

    public static String doGet(String httpUrl) {
            HttpURLConnection conn = null;
            InputStream is = null;
            BufferedReader br = null;
            String result = null;
            try {
                //创建远程url链接
                URL url = new URL(httpUrl);
                //通过远程URL连接对象打开一个连接
                conn = (HttpURLConnection) url.openConnection();
                //设置连接方式为get
                conn.setRequestMethod("GET");
                //设置连接主机服务器的超时时间
                conn.setConnectTimeout(15000);
                //设置读取远程返回的数据时间
                conn.setReadTimeout(60000);
                //发送请求
                conn.connect();
                //通过连接,获取输入流
                if(conn.getResponseCode() == 200) {
                    is = conn.getInputStream();
                    //封装输入流is,并指定字符集
                    br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
                    //存放数据
                    StringBuffer sbf = new StringBuffer();
                    String temp = null;
                    while((temp = br.readLine()) != null) {
                        sbf.append(temp);
                    }
                    result = sbf.toString();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                close(conn,is,null,br);
            }
            return result;
        }
        
        public static String doPost(String httpUrl,String param) {
            HttpURLConnection conn = null;
            InputStream is = null;
            OutputStream os = null;
            BufferedReader br = null;
            String result = null;
            try {
                //创建远程url链接
                URL url = new URL(httpUrl);
                //通过远程URL连接对象打开一个连接
                conn = (HttpURLConnection) url.openConnection();
                //设置连接方式为get
                conn.setRequestMethod("POST");
                //设置连接主机服务器的超时时间
                conn.setConnectTimeout(15000);
                //设置读取远程返回的数据时间
                conn.setReadTimeout(60000);
                
                //默认设置为false,当向远程服务器传输/写数据
                conn.setDoInput(true);
                //默认设置为true,当前向远程服务器时,设置为true,该参数可有可无
                conn.setDoOutput(true);
                //设置传入参数的格式:请求参数应该是name1 = value1,name2 = value2的形式
                conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                //通过连接对象获取一个输出流
                os = conn.getOutputStream();
                //通过输出流对象将数据写出去
                os.write(param.getBytes("UTF-8"));
                //通过连接,获取输入流
                if(conn.getResponseCode() == 200) {
                    is = conn.getInputStream();
                    //封装输入流is,并指定字符集
                    br = new BufferedReader(new InputStreamReader(is,"UTF-8"));
                    //存放数据
                    StringBuffer sbf = new StringBuffer();
                    String temp = null;
                    while((temp = br.readLine()) != null) {
                        sbf.append(temp);
                    }
                    result = sbf.toString();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }finally {
                close(conn,is,null,br);
            }
            return result;
        }
  • 相关阅读:
    关于token=%1$s类似问题的说明
    Android alarmmanager的使用方法介绍
    Android setCompoundDrawablesWithIntrinsicBounds手工设置文本与图片相对位置说明
    Android Collections.sort的几种用法介绍
    android SlidingMenu属性说明
    Android 多用户模式原理和实现介绍
    Java语言中一些常用的API
    java集合框架+应用小技巧
    javaScript2
    CSS
  • 原文地址:https://www.cnblogs.com/pluto-charon/p/11221283.html
Copyright © 2011-2022 走看看