httpPost请求方法:
private static String encode = “UTF-8”;
public static String httpPost( ) {
JSONObject ji = new JSONObject();
JSONObject transaction = new JSONObject();
JSONObject body= new JSONObject();
// 报文头信息
transaction.put("tran_seq", StringUtils.getUUID());// 交易ID唯一ID,对应返回报文
transaction.put("server_id", “”001“”);// 服务ID
//报文体
body.put("name", “fank”);// 服务ID
// 报文参数
ji.put("transaction", transaction);
ji.put("data", body);
// 接口调用
String requestJson = ji.toString();
对报文进行加密
requestJson = HttpEncryptUtil.appEncrypt(requestJson);
String url ="https://mp.csdn.net/";//请求的地址
String result = "";
try {
// post请求返回结果
CloseableHttpClient httpclient = HttpClients.createDefault();
// 超时设置
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(60000)
.setConnectionRequestTimeout(10000).setSocketTimeout(60000).build();
HttpPost method = new HttpPost(url);
method.setConfig(requestConfig);
// 解决中文乱码问题
StringEntity entity = new StringEntity(requestJson , encode);
entity.setContentEncoding(encode);
entity.setContentType("application/json");
method.setEntity(entity);
HttpResponse response = httpclient.execute(method);
// 请求发送成功,并得到响应
if (response.getStatusLine().getStatusCode() == 200) {
try {
// 读取服务器返回过来的json字符串数据
result = EntityUtils.toString(response.getEntity(), encode);
} catch (Exception e) {
result = "http_error_02";
log.error("//httpPost//" + url + "//http_error_02", e);
} finally {
httpclient.close();
}
} else {
result = "http_error_" + response.getStatusLine().getStatusCode();
}
} catch (Exception e) {
result = "http_error_01";
log.error("//httpPost//" + url + "//http_error_01", e);
}
return result;
}