美文网首页
springboot2.2.x以上版本GET请求特殊字符处理

springboot2.2.x以上版本GET请求特殊字符处理

作者: DimonHo | 来源:发表于2021-01-14 10:26 被阅读0次

这个问题是由于Tomcat的新版本中增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。

   
@Configuration
public class TomcatConfig {
 
   @Bean
  public TomcatServletWebServerFactory webServerFactory() {
     TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
     factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
              @Override
              public void customize(Connector connector) {
                  //connector.setProperty("relaxedPathChars", "\"<>[\\]^`{|}");
                  connector.setProperty("relaxedQueryChars", "(),/:;<=>?@[\\]{}");
                  connector.setProperty("rejectIllegalHeader", "false");
               }
      });
      return factory;
  }
}

参考:https://blog.csdn.net/qq_38680405/article/details/107237724?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4.not_use_machine_learn_pai

相关文章

网友评论

      本文标题:springboot2.2.x以上版本GET请求特殊字符处理

      本文链接:https://www.haomeiwen.com/subject/rpnmaktx.html