xiatian 3 vuotta sitten
vanhempi
commit
07cd828735

+ 25 - 0
src/main/java/cn/com/qmth/examcloud/app/core/utils/HttpUtils.java

@@ -13,6 +13,7 @@ import cn.com.qmth.examcloud.app.model.Result;
 import cn.com.qmth.examcloud.commons.util.JsonMapper;
 import com.alibaba.fastjson.JSON;
 import okhttp3.Request;
+import okhttp3.Request.Builder;
 import okhttp3.RequestBody;
 import okhttp3.Response;
 import org.apache.commons.lang3.StringUtils;
@@ -20,6 +21,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.net.ConnectException;
+import java.util.Map;
 import java.util.UUID;
 
 import static cn.com.qmth.examcloud.app.model.Constants.*;
@@ -56,6 +58,29 @@ public class HttpUtils {
         log.info("[GET] " + requestUrl);
         return call(request, traceId);
     }
+    
+    public static Result<String> doPost(String requestUrl, RequestBody formBody, String key, String token,Map<String,String> headers) throws Exception {
+        String traceId = getRandomTraceId();
+
+        //封装请求参数
+        Builder builder=new Request.Builder()
+                .url(requestUrl)
+                .post(formBody)
+                .addHeader(PARAM_KEY, key)
+                .addHeader(PARAM_TOKEN, token)
+                .addHeader(PARAM_TRACE_ID, traceId)
+                .addHeader(PARAM_CLIENT, PARAM_CLIENT_VALUE);
+        if(headers!=null&&headers.size()>0) {
+        	for(String header:headers.keySet()) {
+        		builder=builder.addHeader(header, headers.get(header));
+        	}
+        }
+        Request request = builder.build();
+
+        //执行请求
+        log.info("[POST] " + requestUrl);
+        return call(request, traceId);
+    }
 
     public static Result<String> doPost(String requestUrl, RequestBody formBody, String key, String token) throws Exception {
         String traceId = getRandomTraceId();

+ 3 - 0
src/main/java/cn/com/qmth/examcloud/app/service/impl/CoreOeServiceImpl.java

@@ -168,6 +168,9 @@ public class CoreOeServiceImpl implements CoreOeService {
         paramsList.add(params);
         String json = new JsonMapper().toJson(paramsList);
         RequestBody formBody = FormBody.create(MediaType.parse(Constants.CHARSET_JSON_UTF8), json);
+        Map<String,String> headers=new HashMap<>();
+        headers.put("REFERER", "app-referer");
+        headers.put("USER-AGENT", "app-electron-exam-shell");
         return HttpUtils.doPost(requestUrl, formBody, key, token);
     }