update 调用内部接口增加Header Referer

This commit is contained in:
lijiarao
2021-12-17 20:40:25 +08:00
parent b62b46cb81
commit 599f2cd4d1
3 changed files with 22 additions and 26 deletions
@@ -4,6 +4,8 @@ import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.exception.JeroBootException;
@@ -141,7 +143,12 @@ public class AuthenticationUtils {
if (StrUtil.isNotBlank(requestParam)){
urlBuilder.append(requestParam);
}
String post = HttpUtil.post(urlBuilder.toString(), jsonString);
String post = HttpRequest.post(urlBuilder.toString())
.header(Header.REFERER, urlBuilder.toString())//头信息,多个头信息多次调用此方法即可
.form(jsonString)//表单内容
.timeout(20000)//超时,毫秒
.execute().body();
//String post = HttpUtil.post(urlBuilder.toString(), jsonString);
checkResult(post);
}
@@ -162,25 +169,15 @@ public class AuthenticationUtils {
if (StrUtil.isNotBlank(requestParam)){
urlBuilder.append(requestParam);
}
String post = HttpUtil.post(urlBuilder.toString(), jsonString);
String post = HttpRequest.post(urlBuilder.toString())
.header(Header.REFERER, urlBuilder.toString())//头信息,多个头信息多次调用此方法即可
.form(jsonString)//表单内容
.timeout(20000)//超时,毫秒
.execute().body();
//String post = HttpUtil.post(urlBuilder.toString(), jsonString);
return checkGetResult(post);
}
/**
* 调用会员系统post接口
* @param methodName
*/
public static void post(String methodName, HashMap<String, Object> paramMap) {
Map<String, String> stringStringMap = encryptByRsaPriKey();
paramMap.put("token", stringStringMap.get("token"));
paramMap.put("publicKey", stringStringMap.get("publicKey"));
//拼接url路径
StringBuilder urlBuilder = new StringBuilder(AuthenticationUtils.URL);
urlBuilder.append(methodName);
String post = HttpUtil.post(urlBuilder.toString(), paramMap);
checkResult(post);
}
/**
* 调用会员系统get接口
* @param methodName
@@ -194,7 +191,11 @@ public class AuthenticationUtils {
urlBuilder.append(methodName);
urlBuilder.append("?");
paramMap.forEach((k,v) -> urlBuilder.append(k).append("=").append(v).append("&"));
String get = HttpUtil.get(urlBuilder.toString());
String get = HttpRequest.get(urlBuilder.toString())
.header(Header.REFERER, urlBuilder.toString())//头信息,多个头信息多次调用此方法即可
.timeout(20000)//超时,毫秒
.execute().body();
//String get = HttpUtil.get(urlBuilder.toString());
checkResult(get);
}
}
@@ -55,9 +55,9 @@ public class CsrfFilter implements Filter {
// 获取来源
String referurl = req.getHeader("Referer");
// websocket 请求放过
if(isWhiteReq(referurl) || url.contains("/websocket/")){
if(isWhiteReq(referurl) || url.contains("/websocket/") || url.contains("token")){
chain.doFilter(request, response);
}else{
} else {
String log = "";
String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
String ip = getIp(req);
@@ -440,12 +440,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
billingInfo.setSendMethod(payMailBill.getSendMethod());
billingInfo.setSendDate(payMailBill.getSendDate());
billingInfo.setPostNo(payMailBill.getPostNo());
Map<String, String> stringStringMap = AuthenticationUtils.encryptByRsaPriKey();
String publicKey = stringStringMap.get("publicKey");
String token = stringStringMap.get("token");
String jsonString1 = JSONObject.toJSONString(billingInfo);
String post = HttpUtil.post(AuthenticationUtils.URL + "/billingInfo/billingInfo/postFromPayment?publicKey=" + publicKey + "&pushToken=" + token, jsonString1);
AuthenticationUtils.checkResult(post);
AuthenticationUtils.post("/billingInfo/billingInfo/postFromPayment",null,billingInfo);
}
@Override