[隨記] 使用httpClient傳送post請求連線restful介面
阿新 • • 發佈:2019-02-17
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();
}