- Content-Type为application/json类型
public static String doPost(String url, String params) {
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);// 创建httpPost
httpPost.setHeader("Accept", "application/json"); //接收报文类型
httpPost.setHeader("Content-Type", "application/json"); //发送报文类型
httpPost.setHeader("Authorization","eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySW50ZXJmYWNlVXJsIjoiL2FwaS9nZXRTYW1wbGUsL2FwaS9wdXRSZXN1bHQsL2FwaS9wdXRTYW1wbGUiLCJ1bml0Q29kZSI6IkgwMDEwIiwidXNlckludGVyZmFjZUlwIjoiIiwiZXhwIjoxNjE4MzM1NDc0LCJ1c2VySWQiOiJiM2ZmYjllZjg1ZmI0NTQyNDUzNmJkYTJmNjliMmQxYiIsInVzZXJuYW1lIjoidG15eSIsInN0YXR1cyI6IjEifQ.eGA8D0OyFzNbw5T-ZHFOwasF_mh0FTWzxuZNgIsPJN8");
if(params != null && !"".equals(params)){
StringEntity entity = new StringEntity(params, "UTF-8");
httpPost.setEntity(entity);
}
CloseableHttpResponse response = null;
try {
response = httpclient.execute(httpPost);
StatusLine status = response.getStatusLine();
int state = status.getStatusCode();
if (state == HttpStatus.SC_OK) {
HttpEntity responseEntity = response.getEntity();
String jsonString = EntityUtils.toString(responseEntity,"UTF-8");
return jsonString;
}
else{
System.out.println(state);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
try {
if (response != null)response.close();
httpclient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
2.Content-Type为application/x-www-form-urlencoded
try {
String postURL = "localhost:8080/cabin/api/user/login";
PostMethod postMethod = null;
postMethod = new PostMethod(postURL);
postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
//参数设置,需要注意的就是里边不能传NULL,要传空字符串
NameValuePair[] data = {
new NameValuePair("username", "username"),
new NameValuePair("password", "password")
};
postMethod.setRequestBody(data);
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
int response = httpClient.executeMethod(postMethod); // 执行POST方法
String result = postMethod.getResponseBodyAsString();
Map resultMap = com.alibaba.fastjson.JSON.parseObject(result, Map.class);
token = (String) resultMap.get("token");
return token;
} catch (Exception e) {
// logger.info("请求异常"+e.getMessage(),e);
throw new RuntimeException(e.getMessage());
}