ソースを参照

登录设置成短连接

lirong 3 年 前
コミット
2533a9e9fb

+ 7 - 1
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/service/rest/RedirectUtil.java

@@ -104,7 +104,13 @@ public class RedirectUtil {
 			} else {
 				postString = postBody.toString();
 			}
-			resultString = HttpClientUtil.instance("redirect").post(url, postString, null, ConfigRedirect.headerMap,null,request);
+            //这里添加日志,重试手动,并设置成短链接
+            try {
+                resultString = HttpClientUtil.instance("redirect").post(url, postString, null, ConfigRedirect.headerMap,null,request);
+            } catch (Exception e) {
+                log.error("redirect异常", e);
+                resultString = HttpClientUtil.instance("redirect").post(url, postString, null, ConfigRedirect.headerMap,null,request);
+            }
 		}
 		Object result;
 		try {

+ 7 - 0
ibms-data-sdk/src/main/java/com/persagy/ibms/data/sdk/util/HttpClientUtil.java

@@ -12,6 +12,7 @@ import org.apache.commons.lang3.ObjectUtils;
 import org.apache.http.Header;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
+import org.apache.http.HttpVersion;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.methods.HttpGet;
@@ -20,6 +21,7 @@ import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpPut;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.HttpClients;
+import org.apache.http.protocol.HTTP;
 import org.apache.http.util.EntityUtils;
 
 import cn.hutool.core.lang.Tuple;
@@ -175,6 +177,11 @@ public class HttpClientUtil {
 		if (timeout == null) {
 			timeout = 300000;
 		}
+		//登录这里设置成短连接
+		if (url.contains("getCaptchaBase64") || url.contains("login")){
+			httpost.setProtocolVersion(HttpVersion.HTTP_1_0);
+			httpost.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE);
+		}
 		if (timeout != null) {
 			RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(timeout).setConnectionRequestTimeout(timeout)
 					.setSocketTimeout(timeout).build();