httpURLConnection-网络请求的两种方式-get请求和post请求

来源:互联网 发布:js 字符串转换json数组 编辑:程序博客网 时间:2024/06/05 14:46

GET请求

/**
* 从网络获取json数据,(String byte[})

 * @param path * @return */public static String getJsonByInternet(String path){    try {        URL url = new URL(path.trim());        //打开连接        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();        if(200 == urlConnection.getResponseCode()){            //得到输入流            InputStream is =urlConnection.getInputStream();            ByteArrayOutputStream baos = new ByteArrayOutputStream();            byte[] buffer = new byte[1024];            int len = 0;            while(-1 != (len = is.read(buffer))){                baos.write(buffer,0,len);                baos.flush();            }            return baos.toString("utf-8");        }    }  catch (IOException e) {        e.printStackTrace();    }    return null;}

POST请求

    //获取其他页面的数据        /**         * POST请求获取数据         */        public static String postDownloadJson(String path,String post){            URL url = null;            try {                url = new URL(path);                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();                httpURLConnection.setRequestMethod("POST");// 提交模式                // conn.setConnectTimeout(10000);//连接超时 单位毫秒                // conn.setReadTimeout(2000);//读取超时 单位毫秒                // 发送POST请求必须设置如下两行                httpURLConnection.setDoOutput(true);                httpURLConnection.setDoInput(true);                // 获取URLConnection对象对应的输出流                PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());                // 发送请求参数                printWriter.write(post);//post的参数 xx=xx&yy=yy                // flush输出流的缓冲                printWriter.flush();                //开始获取数据                BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());                ByteArrayOutputStream bos = new ByteArrayOutputStream();                int len;                byte[] arr = new byte[1024];                while((len=bis.read(arr))!= -1){                    bos.write(arr,0,len);                    bos.flush();                }                bos.close();                return bos.toString("utf-8");            } catch (Exception e) {                e.printStackTrace();            }            return null;        }
阅读全文
0 0
原创粉丝点击