日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

invalid character found in the request target 异常

發(fā)布時(shí)間:2024/1/17 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 invalid character found in the request target 异常 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

這個(gè)異常時(shí)因?yàn)門omcat 9不支持請(qǐng)求格式出現(xiàn)“{”等非法字符的問題

因?yàn)閠omcat版本問題遇到的坑,記錄一下。

問題

今天由于要測試一下訂單詳情頁的異步查詢,在本地起了一個(gè)服務(wù),發(fā)送的請(qǐng)求是:

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

按理說應(yīng)該沒啥問題,但是報(bào)如下的錯(cuò):

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

修改后重啟服務(wù)器發(fā)現(xiàn)還是沒有解決,于是查資料,發(fā)現(xiàn)有可能是tomcat版本的問題,于是把tomcat 9 換成了tomcat 8,

將tomcat 8的conf路徑下的 catalina.properties 文件進(jìn)行修改,在最后加入一句:tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}?

允許tomcat接收“{”這樣的特殊字符,重啟后問題解決。

總結(jié)

有很多情況下,在嘗試很多辦法后仍無法解決的話,試著換一下tomcat的版本,盡量不要用高版本的tomcat,還是用相對(duì)穩(wěn)定一些的版本,不然就會(huì)有坑。

轉(zhuǎn)載于:https://my.oschina.net/edwardge/blog/1932018

總結(jié)

以上是生活随笔為你收集整理的invalid character found in the request target 异常的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。