使用httpclient与第三方公司对接传递数据NameValuePair的用法
1,将价值对添加到BasicNameValuePair类中会自动给装换成http的格式,=和&符号,我们都不用自己进行拼接和匹配了,个人觉得它用起来还是挺方便而且准确度也高
具体用法:
String tranData = SMMsgUtil.serializeds(dataMap, TAG+"请求子系统"); // 序列化
List<NameValuePair> realName = new LinkedList<NameValuePair>();
realName.add(new BasicNameValuePair("tranData", tranData));
realName.add(new BasicNameValuePair("sign", signData));
String url = Util.findDicName(utilMapper, "smpay", "merConfig");
String rtnStr = SMMsgUtil.httpSendMsgStr(url, realName, TAG+"发送子系统");
2,httpclient发送(最新版的httpclient既支持http也支持https)
public static String httpSendMsgStr(String url, List<NameValuePair> realName, String logId){
HttpClient httpClient;
String rtnStr = "";
logger.info(logId + "发送地址 = " + url);
try {
httpClient = new HttpClient();
byte[] bytes = httpClient.doPost(url, null, realName);
rtnStr = new String(bytes);
} catch (Exception e) {
logger.info(logId + "【HTTP】数据异常", e);
rtnStr = "";
}
return rtnStr;
}
3,需要的jar包:
httpclient.jar和httpcore.jar
1,将价值对添加到BasicNameValuePair类中会自动给装换成http的格式,=和&符号,我们都不用自己进行拼接和匹配了,个人觉得它用起来还是挺方便而且准确度也高
具体用法:
String tranData = SMMsgUtil.serializeds(dataMap, TAG+"请求子系统"); // 序列化
List<NameValuePair> realName = new LinkedList<NameValuePair>();
realName.add(new BasicNameValuePair("tranData", tranData));
realName.add(new BasicNameValuePair("sign", signData));
String url = Util.findDicName(utilMapper, "smpay", "merConfig");
String rtnStr = SMMsgUtil.httpSendMsgStr(url, realName, TAG+"发送子系统");
2,httpclient发送(最新版的httpclient既支持http也支持https)
public static String httpSendMsgStr(String url, List<NameValuePair> realName, String logId){
HttpClient httpClient;
String rtnStr = "";
logger.info(logId + "发送地址 = " + url);
try {
httpClient = new HttpClient();
byte[] bytes = httpClient.doPost(url, null, realName);
rtnStr = new String(bytes);
} catch (Exception e) {
logger.info(logId + "【HTTP】数据异常", e);
rtnStr = "";
}
return rtnStr;
}
3,需要的jar包:
httpclient.jar和httpcore.jar