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;
        }
  • 相关阅读:
    background-position-x和background-position-y的兼容性问题
    用SVGDeveloper制作svg地图
    实现绝对定位元素水平垂直居中的两种方法
    用-webkit-box-reflect制作倒影
    解决ul的li横向排列换行的问题
    用echarts.js制作中国地图,点击对应的省市链接到指定页面
    css3制作扇形菜单
    IE7中a标签包含img,点击img,链接失效的bug
    ie7中position:fixed定位后导致margin:0 auto;无效
    背景图片铺满全屏的方法
  • 原文地址:https://www.cnblogs.com/pluto-charon/p/11221283.html
Copyright © 2011-2022 走看看