1. 程式人生 > >tomcat8 中 get請求特殊字元過濾

tomcat8 中 get請求特殊字元過濾

請求中包含特殊字元 [] | {} 傳送get請求失敗:

原因:

這是因為Tomcat嚴格按照 RFC 3986規範進行訪問解析,而 RFC 3986規範定義了Url中只允許包含英文字母(a-zA-Z)、數字(0-9)、-_.~4個特殊字元以及所有保留字元(RFC3986中指定了以下字元為保留字元:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。傳入的引數中有"{"不在RFC3986中的保留欄位中,所以會報這個錯。
參考:https://www.jianshu.com/p/eec4ae71e5cb

解決: < Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;" redirectPort="8443" />