請求中包含特殊字符 [] | {} 發送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="[]|{}^\`"<>" redirectPort="8443" />