首页 > Web开发 > 详细

HTTP 400 错误 - 请求无效 (Bad request)

时间:2020-04-21 10:27:17      阅读:134      评论:0      收藏:0      [点我收藏+]

在ajax请求后台数据时有时会报 HTTP 400 错误 - 请求无效 (Bad request);出现这个请求无效报错说明请求没有进入到后台服务里;

原因:

  1)前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;

       2)前端提交的到后台的数据应该是json字符串类型,而前端没有将对象转化为字符串类型;

解决方案:

1)对照字段名称,类型保证一致性

2)使用stringify将前端传递的对象转化为字符串    data: JSON.stringify(param)  ;

 

具体案例:

HttpGet或 HttpPost都不能传包含 ” 、“{“、”}”这样的参数,需要对特殊字符进行转义,把 ” 转成%22,把 { 转成%7b,把 } 转成%7d

   String url = "http://127.0.0.1:9000/signal/Resource?param={\"name\":\"service1\",\"param\":{\"id\":\"1\"}}";
   url = url.replace("\"", "%22").replace("{", "%7b").replace("}", "%7d");      
注意:参数里面如果有 空格的话,也需要转义,否则会有问题。

原文链接:https://blog.csdn.net/juan0901/java/article/details/82415612

从本地继续测试,跟踪tomcat console后台

发现后台报错:

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.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:189)

    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1000)

    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)

    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

    at java.lang.Thread.run(Thread.java:745)

五、原因:tomcat问题

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

Tomcat换一个低一点的版本可以!这是因为高一点的Tomcat版本对URL有更严格的要求,当你的URL中包含了超出RFC 7230和RFC 3968所定义的字符时,就会报错。

本地使用的是tomcat7.0.73,正常运行的使用的是toamcat7.0.47

回测后,页面返回正常。

HTTP 400 错误 - 请求无效 (Bad request)

原文:https://www.cnblogs.com/zh-dream/p/12742550.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!