get请求报错400状态码

get请求报错400状态码  请求参数带  {} 

在tomcat 7版本中没有问题,可以正常返回请求

在tomcat8.5.35 版本中 请求报错400 

 

原因分析:

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

而我们的系统在通过地址传参时,在url中传了一段参数包含有有不在RFC3986中的保留字段中,所以会报这个错。
 

解决方案:

 

修改tomcat目录底下的/conf/catalina.properties配置文件

想知道你所用的tomcat版本适不适用这个方法的话,可以用下面这个方法来鉴别:

查看catalina.properties文件中是否存在着下面这句话,没有就不用尝试了,说明这个版本不支持。

#tomcat.util.http.parser.HttpParser.requestTargetAllow=|
如果存在上面这句话就可以尝试去除#来开启该配置,然后在后面添加URL中可能会出现的非保留字符(就是你觉得你的URL中可能存在哪种特殊字符,填进去就完事了)

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}-
注:上面的{}-就是你填入想要非保留字符。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值