Java:调用http的post方式带body参数

调用http的post方式带body参数


import java.net.HttpURLConnection;
import java.net.URL;
//方法,参数params,{"image":"str_base"}
public static String httpPost(String serverURL, String params) {
        HttpURLConnection connection = null;
        BufferedReader reader = null;
        InputStream is = null;
        OutputStreamWriter writer = null;
        try{
            StringBuffer sbf = new StringBuffer();
            String strRead = null;
            URL url = new URL(serverURL);
            connection = (HttpURLConnection)url.openConnection();
            connection.setRequestMethod("POST");//请求post方式
            connection.setDoInput(true);
            connection.setDoOutput(true);
            //header内的的参数在这里set
            //connection.setRequestProperty("key", "value");
            connection.setRequestProperty("Content-Type", "application/json;charset=\"UTF-8\"");
            connection.connect();
            writer = new OutputStreamWriter(connection.getOutputStream(),"UTF-8");
            //body参数放这里
            writer.write(params);
            writer.flush();
            is = connection.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            while ((strRead = reader.readLine()) != null) {
                sbf.append(strRead);
                sbf.append("\r\n");
            }
            reader.close();
            is.close();
            writer.close();
            connection.disconnect();
            String results = sbf.toString();
            System.out.println("str_base>>>:"+results);
            return results;
        }catch (IOException e){
            e.printStackTrace();
            return "";
        }finally {
            try {
                if(connection != null){
                    connection.disconnect();
                }
                if(reader != null){
                    reader.close();
                }
                if(is != null){
                    is.close();
                }
                if(writer != null){
                    writer.close();
                }
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
原文地址:https://www.cnblogs.com/lizm166/p/15788512.html