package com.sf.novatar.tpl.util;
import java.util.Map;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sf.novatar.tpl.bean.PublicIntDto;
/**
*
* 描述:java发送http的get、post请求
*
* <pre>
* HISTORY
* ****************************************************************************
* ID DATE PERSON REASON
* 1 2017年5月5日 80002253 Create
* ****************************************************************************
* </pre>
*
* @author 80002253
* @since 1.0
*/
public class HttpRequestUtil {
private final static Logger logger = LoggerFactory.getLogger(HttpRequestUtil.class);
/**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param param
* 请求参数,请求参数应该是json字符串。
* @return 所代表远程资源的响应结果
* @throws Exception
*/
public static Map<String, Object> sendPost(String url, String param) throws Exception {
try {
HttpPost httpost = new HttpPost(url);
HttpClient defaultHttpClient = new DefaultHttpClient();
StringEntity entity = new StringEntity(param, "UTF-8");
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
httpost.setEntity(entity);
// 请求超时
defaultHttpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 3000);
// 读取超时
defaultHttpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 5000);
HttpResponse execute = defaultHttpClient.execute(httpost);
String resultData = EntityUtils.toString(execute.getEntity(), "UTF-8");
return JsonMapUtil.jacksonTransfer(resultData);
} catch (Exception e) {
logger.error("发送 POST 请求出现异常!" + e.getMessage());
throw new Exception(e.getMessage());
}
}
public static void main(String[] args) throws Exception {
String url = "http://public-int-gw.intsit.sfdc.com.cn:1080/unp/notice/single";
PublicIntDto dto = new PublicIntDto();
dto.setUserId("15625284601");
dto.setTemplateCode("ESG-EIMS-CORE-SHORT-MESSAGE");
dto.setParam("{" + "'context':'xx'" + "}");
dto.setMsgType("txt");
// dto.setExpectedTime(new Date());
dto.setAccessId("cwM8iF1o");
dto.setAccessToken("2cd45597433c47078c5c15ef4f4147b2");
sendPost(url, JsonUtils.objectToJson(dto));
}
}
版权声明:本文为baidu_35761016原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。