get請求連接裏有特殊字符 轉換過來就是以下字符(對應10進制ASCII),也就是URL中不能包含的特殊字符:
鍵盤上那些控制鍵:(<32或者=127)
非英文字符(>127)
空格(32)
雙引號(34)
#(35)
<(60)
>(62)
反斜槓(92)
^(94)
TAB上面那個鍵,~(96)
{(123)
}(124)
|(125)
我碰到這個問題也搗弄了半天,參照其他的各種解決方案都不行。並且我是使用了多種特殊字符,運用單一某種方案還不能完全奏效。下面是經過實踐的解決方案,請按順序讀完。
解決辦法(親測)
在conf/catalina.properties中最後添加2行:
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
在所有Tomcat版本均適用。