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

来源:互联网 发布:河北省网络行政学院 编辑:程序博客网 时间:2024/06/05 11:36


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