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();
            }
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM