请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

jeesite

 找回密码
 注册新会员
查看: 912|回复: 0

[杂文] Tomcat 7.0.73 Invalid character found in the request target

[复制链接]
admin 发表于 2017-12-31 18:52:25 | 显示全部楼层 |阅读模式
网上查了下,大概原因是:
http://blog.csdn.net/sunpeng_sp/article/details/58309190

在tomcat 8.0.35之后 ,tomcat对url的参数做了比较规范的限制,必须按照RFC 7230 and RFC 3986规范,对于非保留字字符,如果不做转义处理,一律都会报The valid characters are defined in RFC 7230 and RFC 3986 错误。

解决这个问题的办法有几个:

把非保留字字符做转义
就是使用保留字字符
要么就是换比较底一点的tomcat版本
将json数据进行urlencode编码就可以了 即把json中的{}编码
本人觉得解决问题最简单粗暴的方式就是使用第三种方法,当然,最好还是要按照规范来写,长远考虑的话.
今天部署环境,tomcat突然报这个错误,接口返回400。

这里写图片描述

网上查了下,大概原因是:

在tomcat 8.0.35之后 ,tomcat对url的参数做了比较规范的限制,必须按照RFC 7230 and RFC 3986规范,对于非保留字字符,如果不做转义处理,一律都会报The valid characters are defined in RFC 7230 and RFC 3986 错误。

解决这个问题的办法有几个:

把非保留字字符做转义
就是使用保留字字符
要么就是换比较底一点的tomcat版本
将json数据进行urlencode编码就可以了 即把json中的{}编码
本人觉得解决问题最简单粗暴的方式就是使用第三种方法,当然,最好还是要按照规范来写,长远考虑的话.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册新会员

本版积分规则

QQ|手机版|小黑屋|Archiver|jeesite 官方论坛. ( 吉ICP备12004769号  

GMT+8, 2018-11-16 11:05 , Processed in 0.117188 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表