Ver Fonte

修复:允许URL中出现|{}等字符,解决The valid characters are defined in RFC 7230 and RFC 3986问题

陈精华 há 4 anos atrás
pai
commit
7601d49795

+ 0 - 3
jodconverter-web/src/main/java/cn/keking/FilePreviewApplication.java

@@ -4,15 +4,12 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.scheduling.annotation.EnableScheduling;
-import java.util.Properties;
 
 @SpringBootApplication
 @EnableScheduling
 @ComponentScan(value = "cn.keking.*")
 public class FilePreviewApplication {
 	public static void main(String[] args) {
-        Properties properties = System.getProperties();
-        System.out.println(properties.get("user.dir"));
         SpringApplication.run(FilePreviewApplication.class, args);
 	}
 }

+ 19 - 0
jodconverter-web/src/main/java/cn/keking/config/RFCConfig.java

@@ -0,0 +1,19 @@
+package cn.keking.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author chenjh
+ * @since 2020/5/18 13:41
+ */
+@Configuration
+public class RFCConfig {
+
+    @Bean
+    public Boolean setRequestTargetAllow() {
+        // RFC 7230,RFC 3986规范不允许url相关特殊字符,手动指定Tomcat url允许特殊符号, 如{}做入参,其他符号按需添加。见tomcat的HttpParser源码。
+        System.setProperty("tomcat.util.http.parser.HttpParser.requestTargetAllow", "|{}");
+        return true;
+    }
+}