HttpCallUtil

来源:互联网 发布:linux mkdir函数 编辑:程序博客网 时间:2024/05/18 17:43
public class HttpCallUtil {
private static final Logger LOGGER = LoggerFactory
.getLogger(HttpCallUtil.class);
public static final String KEY_TOKEN_ID = "TOKEN_ID";


public static JSONObject sendDesPost(String targetUrl,
Map<String, Object> param) {
try {
String paramStr = null;
if (param != null) {
paramStr = JSONObject.toJSONString(param);


paramStr = Des3.encode(paramStr);
}


HttpRequest request = new HttpRequest(HttpResultType.STRING);
request.setMethod("POST");
request.setUrl(targetUrl);
request.setParameters(new NameValuePair[] { new NameValuePair(
"msg", paramStr) });
request.setTimeout(60000);


long startTime = System.currentTimeMillis();
LOGGER.info("Start Post Call: " + targetUrl + " with param: "
+ paramStr);
HttpProtocolHandler httpProtocolHandler = HttpProtocolHandler
.getInstance();
HttpResponse response = httpProtocolHandler.execute(request);


long endTime = System.currentTimeMillis();
long executeTime = endTime - startTime;


if (response != null) {
LOGGER.info("End Post Call: " + targetUrl
+ " with resultCode: " + response.getStatusCode()
+ ", excuteTime :" + executeTime);
} else {
LOGGER.info("End Post Call: response is null ! excuteTime :"
+ executeTime);
return null;
}


if (response.getStatusCode() == 200) {
String resultStr = response.getStringResult();


if (!(StringUtils.isEmpty(resultStr))) {
resultStr = Des3.decode(resultStr);


JSONObject resultObj = JSONObject.parseObject(resultStr);
return resultObj;
}
}
JSONObject resultObj = new JSONObject();
resultObj.put("code", Integer.valueOf(response.getStatusCode()));
resultObj.put("msg", response.getStringResult());
resultObj.put("status", "Response Failed");
} catch (Exception e) {
LOGGER.error("http call process error", e);
}


return null;
}


public static JSONObject jsonDesPost(String targetUrl, JSONObject param) {
try {
String paramStr = null;
if (param != null) {
paramStr = JSONObject.toJSONString(param);


paramStr = Des3.encode(paramStr);
}


HttpRequest request = new HttpRequest(HttpResultType.STRING);
request.setMethod("POST");
request.setUrl(targetUrl);
request.setParameters(new NameValuePair[] { new NameValuePair(
"msg", paramStr) });
request.setTimeout(60000);


long startTime = System.currentTimeMillis();
LOGGER.info("Start Post Call: " + targetUrl + " with param: "
+ paramStr);
HttpProtocolHandler httpProtocolHandler = HttpProtocolHandler
.getInstance();
HttpResponse response = httpProtocolHandler.execute(request);


long endTime = System.currentTimeMillis();
long executeTime = endTime - startTime;


if (response != null) {
LOGGER.info("End Post Call: " + targetUrl
+ " with resultCode: " + response.getStatusCode()
+ ", excuteTime :" + executeTime);
} else {
LOGGER.info("End Post Call: response is null ! excuteTime :"
+ executeTime);
return null;
}


if (response.getStatusCode() == 200) {
String resultStr = response.getStringResult();


if (!(StringUtils.isEmpty(resultStr))) {
resultStr = Des3.decode(resultStr);


JSONObject resultObj = JSONObject.parseObject(resultStr);
return resultObj;
}
}
JSONObject resultObj = new JSONObject();
resultObj.put("code", Integer.valueOf(response.getStatusCode()));
resultObj.put("msg", response.getStringResult());
resultObj.put("status", "Response Failed");
} catch (Exception e) {
LOGGER.error("http call process error", e);
}


return null;
}


public static JSONObject sendPost(String targetUrl,
Map<String, Object> param) {
try {
HttpRequest request = new HttpRequest(HttpResultType.STRING);
request.setMethod("POST");
request.setUrl(targetUrl);


if (param != null) {
List nvList = new ArrayList();
for (String str : param.keySet()) {
if (param.get(str) != null) {
nvList.add(new NameValuePair(str, String.valueOf(param
.get(str))));
}
}
if (nvList.size() > 0) {
request.setParameters((NameValuePair[]) nvList
.toArray(new NameValuePair[nvList.size()]));
}


}


long startTime = System.currentTimeMillis();
LOGGER.info("Start Post Call: " + targetUrl + " with param: "
+ JSONObject.toJSONString(param));
HttpProtocolHandler httpProtocolHandler = HttpProtocolHandler
.getInstance();
HttpResponse response = httpProtocolHandler.execute(request);


long endTime = System.currentTimeMillis();
long executeTime = endTime - startTime;


if (response != null) {
LOGGER.info("End Post Call: " + targetUrl
+ " with resultCode: " + response.getStatusCode()
+ ", excuteTime :" + executeTime);
} else {
LOGGER.info("End Post Call: response is null ! excuteTime :"
+ executeTime);
return null;
}


if (response.getStatusCode() != 200)
break label335;
String resultStr = response.getStringResult();


if (StringUtils.isEmpty(resultStr))
break label335;
JSONObject resultObj = JSONObject.parseObject(resultStr);
return resultObj;
} catch (Exception e) {
LOGGER.error("http call process error", e);
}


label335: return null;
}


public static JSONObject sendGet(String targetUrl, Map<String, Object> param) {
try {
HttpRequest request = new HttpRequest(HttpResultType.STRING);
request.setMethod("GET");
request.setUrl(targetUrl);


if (param != null) {
int size = param.keySet().size();
NameValuePair[] nvArray = new NameValuePair[size];
int i = 0;
for (String str : param.keySet()) {
nvArray[i] = new NameValuePair(str, String.valueOf(param
.get(str)));
++i;
}


request.setParameters(nvArray);
}


long startTime = System.currentTimeMillis();
LOGGER.info("Start Post Call: " + targetUrl + " with param: "
+ JSONObject.toJSONString(param));
HttpProtocolHandler httpProtocolHandler = HttpProtocolHandler
.getInstance();
HttpResponse response = httpProtocolHandler.execute(request);


long endTime = System.currentTimeMillis();
long executeTime = endTime - startTime;


if (response != null) {
LOGGER.info("End Post Call: " + targetUrl
+ " with resultCode: " + response.getStatusCode()
+ ", excuteTime :" + executeTime);
} else {
LOGGER.info("End Post Call: response is null ! excuteTime :"
+ executeTime);
return null;
}


if (response.getStatusCode() != 200)
break label314;
String resultStr = response.getStringResult();


if (StringUtils.isEmpty(resultStr))
break label314;
JSONObject resultObj = JSONObject.parseObject(resultStr);
return resultObj;
} catch (Exception e) {
LOGGER.error("http call process error", e);
}


label314: return null;
}


public static JSONObject jsonPost(String targetUrl, JSONObject param) {
try {
HttpRequest request = new HttpRequest(HttpResultType.STRING);
request.setMethod("POST");
request.setUrl(targetUrl);
request.setTimeout(60000);


if (param != null) {
List nvList = new ArrayList();
for (String str : param.keySet()) {
if (param.get(str) != null) {
nvList.add(new NameValuePair(str, String.valueOf(param
.get(str))));
}
}
if (nvList.size() > 0) {
request.setParameters((NameValuePair[]) nvList
.toArray(new NameValuePair[nvList.size()]));
}


}


long startTime = System.currentTimeMillis();
LOGGER.info("Start Post Call: " + targetUrl + " with param: "
+ JSONObject.toJSONString(param));
HttpProtocolHandler httpProtocolHandler = HttpProtocolHandler
.getInstance();
HttpResponse response = httpProtocolHandler.execute(request);


long endTime = System.currentTimeMillis();
long executeTime = endTime - startTime;


if (response != null) {
LOGGER.info("End Post Call: " + targetUrl
+ " with resultCode: " + response.getStatusCode()
+ ", excuteTime :" + executeTime);
} else {
LOGGER.info("End Post Call: response is null ! excuteTime :"
+ executeTime);
return null;
}


if (response.getStatusCode() != 200)
break label335;
String resultStr = response.getStringResult();


if (StringUtils.isEmpty(resultStr))
break label335;
JSONObject resultObj = JSONObject.parseObject(resultStr);
return resultObj;
} catch (Exception e) {
LOGGER.error("http call process error", e);
}


label335: return null;
}


public static JSONObject jsonSSLPost(String targetUrl, JSONObject param) {
try {
HttpRequest request = new HttpRequest(HttpResultType.STRING);
request.setMethod("POST");
request.setUrl(targetUrl);
request.setTimeout(60000);


if (param != null) {
List nvList = new ArrayList();
for (String str : param.keySet()) {
if (param.get(str) != null) {
nvList.add(new NameValuePair(str, String.valueOf(param
.get(str))));
}
}
if (nvList.size() > 0) {
request.setParameters((NameValuePair[]) nvList
.toArray(new NameValuePair[nvList.size()]));
}


}


long startTime = System.currentTimeMillis();
LOGGER.info("Start Post Call: " + targetUrl + " with param: "
+ JSONObject.toJSONString(param));
HttpProtocolHandler httpProtocolHandler = HttpProtocolHandler
.getInstance();
HttpResponse response = httpProtocolHandler.sslexecute(request);


long endTime = System.currentTimeMillis();
long executeTime = endTime - startTime;


if (response != null) {
LOGGER.info("End Post Call: " + targetUrl
+ " with resultCode: " + response.getStatusCode()
+ ", excuteTime :" + executeTime);
} else {
LOGGER.info("End Post Call: response is null ! excuteTime :"
+ executeTime);
return null;
}


if (response.getStatusCode() != 200)
break label335;
String resultStr = response.getStringResult();


if (StringUtils.isEmpty(resultStr))
break label335;
JSONObject resultObj = JSONObject.parseObject(resultStr);
return resultObj;
} catch (Exception e) {
LOGGER.error("http call process error", e);
}


label335: return null;
}


public static String generateToken() {
return UUID.randomUUID().toString().replaceAll("-", "");
}

}















import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESedeKeySpec;
import javax.crypto.spec.IvParameterSpec;


public class Des3 {
private static final String SECRET_KEY = "com@XFFQDKLMSAPPXX@@#$";
private static final String IV = "01234567";
private static final String ENCODING = "utf-8";


public static String encode(String plainText) throws Exception {
Key deskey = null;
DESedeKeySpec spec = new DESedeKeySpec(
"com@XFFQDKLMSAPPXX@@#$".getBytes("utf-8"));
SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede");
deskey = keyfactory.generateSecret(spec);


Cipher cipher = Cipher.getInstance("desede/CBC/PKCS5Padding");
IvParameterSpec ips = new IvParameterSpec("01234567".getBytes("utf-8"));
cipher.init(1, deskey, ips);
byte[] encryptData = cipher.doFinal(plainText.getBytes("utf-8"));
return Base64.encode(encryptData);
}


public static String decode(String encryptText) throws Exception {
Key deskey = null;
DESedeKeySpec spec = new DESedeKeySpec(
"com@XFFQDKLMSAPPXX@@#$".getBytes("utf-8"));
SecretKeyFactory keyfactory = SecretKeyFactory.getInstance("desede");
deskey = keyfactory.generateSecret(spec);
Cipher cipher = Cipher.getInstance("desede/CBC/PKCS5Padding");
IvParameterSpec ips = new IvParameterSpec("01234567".getBytes("utf-8"));
cipher.init(2, deskey, ips);


byte[] decryptData = cipher.doFinal(Base64.decode(encryptText));


return new String(decryptData, "utf-8");
}
}

0 0
原创粉丝点击