Browse Source

fix destination not encoded (#4279)

tianpeidong 2 years ago
parent
commit
4d4199c801

+ 2 - 1
instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/plain/PlainCanalConfigClient.java

@@ -16,6 +16,7 @@ import com.alibaba.otter.canal.common.AbstractCanalLifeCycle;
 import com.alibaba.otter.canal.common.CanalException;
 import com.alibaba.otter.canal.common.CanalException;
 import com.alibaba.otter.canal.common.CanalLifeCycle;
 import com.alibaba.otter.canal.common.CanalLifeCycle;
 import com.alibaba.otter.canal.protocol.SecurityUtil;
 import com.alibaba.otter.canal.protocol.SecurityUtil;
+import com.google.common.net.UrlEscapers;
 
 
 /**
 /**
  * 远程配置获取
  * 远程配置获取
@@ -84,7 +85,7 @@ public class PlainCanalConfigClient extends AbstractCanalLifeCycle implements Ca
         if (StringUtils.isEmpty(md5)) {
         if (StringUtils.isEmpty(md5)) {
             md5 = "";
             md5 = "";
         }
         }
-        String url = configURL + "/api/v1/config/instance_polling/" + destination + "?md5=" + md5;
+        String url = configURL + "/api/v1/config/instance_polling/" + UrlEscapers.urlPathSegmentEscaper().escape(destination) + "?md5=" + md5;
         return queryConfig(url);
         return queryConfig(url);
     }
     }