方法一: HttpClient
public void postTest(HttpServletRequest request,Integer type,String phone,String passwd,String schoolld,String agent){
String url = "xxxxxxxxx";//发送请求的URL地址
JSONObject jsonObject = new JSONObject();//封装参数
jsonObject.put("phone", "xxxx");
jsonObject.put("agent", "xxxx");
String params=jsonObject.toString();
sendPostHttpClient(url, params);
}
public String sendPostHttpClient(String url, String data) {
String response = null;
try {
CloseableHttpClient httpclient = null;
CloseableHttpResponse httpresponse = null;
try {
httpclient = HttpClients.createDefault();
HttpPost httppost = new HttpPost(url);
//StringEntity stringentity = new StringEntity(data, ContentType.create("text/json", "UTF-8"));参数传递文本格式
StringEntity stringentity = new StringEntity(data, ContentType.create("application/json", "UTF-8"));//参数传递json格式
httppost.setEntity(stringentity);
httpresponse = httpclient.execute(httppost);
response = EntityUtils.toString(httpresponse.getEntity());
logger.info("response: " + response);
} finally {
if (httpclient != null) {
httpclient.close();
}
if (httpresponse != null) {
httpresponse.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
return response;
}
方法二:RestTemplate
public Map<String,String> getShangHaiCarDealCount(String formatTime) {
Map<String,String> map=new HashMap<>();
map.put("flag", "fail");
String cycle = "1";
String pic_type = "3";
String qsrq = formatTime;
String Submit = "显示";
String zzrq = formatTime;
String result = null;
try {
String url = "http://xxxxxxxxxxxxxxxxxxxxxx";
RestTemplate client = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
// 请勿轻易改变此提交方式,大部分的情况下,提交方式都是表单提交
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
// 封装参数,千万不要替换为Map与HashMap,否则参数无法传递
MultiValueMap<String, String> params= new LinkedMultiValueMap<String, String>();
// 也支持中文
params.add("cycle", cycle);
params.add("pic_type", pic_type);
params.add("qsrq", qsrq);
params.add("Submit", Submit);
params.add("zzrq", zzrq);
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(params, headers);
// 执行HTTP请求
ResponseEntity<String> response = client.exchange(url, HttpMethod.POST, requestEntity, String.class);
result = response.getBody();
map.put("result", result);
map.put("flag", "success");
} catch (Exception e) {
e.printStackTrace();
}
return map;
}