2019独角兽企业重金招聘Python工程师标准>>>

这个异常时因为Tomcat 9不支持请求格式出现“{”等非法字符的问题

因为tomcat版本问题遇到的坑,记录一下。

问题

今天由于要测试一下订单详情页的异步查询,在本地起了一个服务,发送的请求是:

http://sellerorder.mogujie.com:8080/api/order/detail4seller?data={%22shopOrderId%22:%2224296908588336%22,%22orderPlatFormCode%22:%22PC%22}

按理说应该没啥问题,但是报如下的错:

22-Aug-2018 11:58:23.262 信息 [http-nio-8080-exec-4] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:467)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:294)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

解决办法

可以看到是说有非法字符,于是去度娘找解决办法,找到了解决办法的博客如下:

https://blog.csdn.net/testcs_dn/article/details/71716829

修改后重启服务器发现还是没有解决,于是查资料,发现有可能是tomcat版本的问题,于是把tomcat 9 换成了tomcat 8,

将tomcat 8的conf路径下的 catalina.properties 文件进行修改,在最后加入一句:tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

允许tomcat接收“{”这样的特殊字符,重启后问题解决。

总结

有很多情况下,在尝试很多办法后仍无法解决的话,试着换一下tomcat的版本,尽量不要用高版本的tomcat,还是用相对稳定一些的版本,不然就会有坑。

转载于:https://my.oschina.net/edwardge/blog/1932018

invalid character found in the request target 异常相关推荐

  1. 实测解决:SpringBoot 中 Invalid character found in the request target 异常

    实测解决:SpringBoot 中 Invalid character found in the request target 异常 ​ 原因: SpringBoot 2.0.0 以上都采用内置tom ...

  2. 异常:Invalid character found in the request target. The valid characters are defined in RFC 3986

    异常:Invalid character found in the request target. The valid characters are defined in RFC 3986 参考文章: ...

  3. Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC

    转载:(http://blog.csdn.net/zeroso/article/details/70592179) 错误现象: java.lang.IllegalArgumentException: ...

  4. tomcat升级后报错: Invalid character found in the request target.

    准备上线一个项目.本地环境有两套环境,一个测试环境,一个正式环境.项目在测试环境已验证测试通过,准备部署到正式环境.但部署后任何一个请求都报错,报错日志如下: java.lang.IllegalArg ...

  5. Ajax请求SSM后台时提示:Invalid character found in the request target. The valid characters are defined in RF

    场景 前端使用SSM请求后台时提示: Invalid character found in the request target. The valid characters are defined i ...

  6. Invalid character found in the request target. The valid characters are defi

    解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RF ...

  7. 后台报错java.lang.IllegalArgumentException: Invalid character found in the request target.

    问题描述:启动项目后,当点击页面某一个按钮时,项目出错并且后台报java.lang.IllegalArgumentException: Invalid character found in the r ...

  8. 【JavaScript问题】JavaScript 请求后台报错 Invalid character found in the request target

    文章目录 问题描述 问题分析 解决方法 微信公众号 问题描述 开发中,遇到这么一个问题,前端使用get方式请求SpringMVC的后台控制层方法,但是直接没有进方法断点,就报错了 java.lang. ...

  9. 解Invalid character found in the request target.

    解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RF ...

最新文章

  1. 能够显著降低焦虑的两种方法
  2. PHP如何保存当前用户
  3. UnitTest in .NET(Part 2)
  4. html5语异性元素,异性的5句性暗示
  5. sqllite事务和MySQL事务_Android学习---SQLite数据库的增删改查和事务(transaction)调用...
  6. MantisBT安装部署(XAMPP)邮件配置 中文配置
  7. 安卓调用系统拍照功能:1、启动拍照返回图片,2、启动拍照,图片存储在指定路径下
  8. spring5.0学习笔记7
  9. 笔记:《深入浅出统计学》第十三章:假设检验(显著性检验)
  10. [c#]删除PDF权限密码
  11. 一小时快速建立数据分析平台
  12. Docker-docker-compose学习笔记(yaml,实战)
  13. 用Mailgun方式在Drone pipeline中集成SMTP邮件通知
  14. 桌前检查、代码评审、走查
  15. CF1720A Burenka Plays with Fractions 题解
  16. R语言重复测量方差分析
  17. 自定义组件使用el-dialog,且内含表单时,表单提交时字段报错undefined
  18. 网络营销分析七大法宝介绍
  19. 【Java基础系列教程】第十五章 Java 正则表达式详解
  20. 获取周一到周日的日期

热门文章

  1. C语言中static用法大全
  2. synchronized原理_synchronized关键字的作用、原理以及锁优化
  3. url传递html字符串,将Selenium HTML字符串传递给Scrapy以将url添加到Scrapy的url列表中...
  4. mysql微服务查询问题_微服务架构下,Mysql读写分离后,数据库CPU飙升卡壳问题解析...
  5. 将字符串转换为数组_LeetCode 树 108.将有序数组转换为二叉搜索树
  6. python文件实时同步_python文件自动同步备份v1.2【运维必备】2020/12/31
  7. java的3个初始化_通过实例解析Java类初始化和实例初始化
  8. 和gdi绘图效率比较_堪称效率神器!5款日常插件分享,错过哪一个都无比遗憾...
  9. java计算并显示学生的成绩_Java开学测试-学生成绩管理系统
  10. java求阶乘的程序_按要求编写Java程序(阶乘)