1. 程式人生 > >[隨記] 使用httpClient傳送post請求連線restful介面

[隨記] 使用httpClient傳送post請求連線restful介面

  public static String httpPost(String url,String arg){
        InputStream is;
        BufferedReader br;
        StringBuilder sBuilder = null;
        try {
            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost("url");
            //方式一:將引數新增到請求體當中
httpPost.setEntity(new StringEntity(arg,"utf-8"));//預設是採用ISO-8859-1 對於中文需要使用utf-8編碼 //方式二: 如果需要傳遞多個引數 List<NameValuePair> parameters = new ArrayList<>(); parameters.add(new BasicNameValuePair("name","value")); parameters.add(new BasicNameValuePair("name"
,"value")); parameters.add(new BasicNameValuePair("name","value")); parameters.add(new BasicNameValuePair("name","value")); httpPost.setEntity(new UrlEncodedFormEntity(parameters)); HttpResponse httpResponse = httpClient.execute(httpPut); //連線成功
if(200 == httpResponse.getStatusLine().getStatusCode()) { HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); br = new BufferedReader(new InputStreamReader(is)); String tempStr; sBuilder = new StringBuilder(); while ((tempStr = br.readLine()) != null) { sBuilder.append(tempStr); } br.close(); is.close(); } }catch(Exception e){ e.printStackTrace(); } return sBuilder==null? "":sBuilder.toString(); }