Tomcat版本過高出錯問題

解決:Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986

高版本tomcat中的新特性:就是嚴格按照 RFC 3986規範進行訪問解析,而 RFC 3986規範定義了Url中只允許包含英文字母(a-zA-Z)、數字(0-9)、-_.~4個特殊字符以及所有保留字符(RFC3986中指定了以下字符爲保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ])。而我們的系統在通過地址傳參時,在url中傳了一段json,傳入的參數中有"{"不在RFC3986中的保留字段中,所以會報這個錯。

具體添加特性協議的版本號

8.5.x系列的:8.5.12 onwards
8.0.x系列的:8.0.42 onwards
7.0.x系列的:7.0.76 onwards

各個版本中小於這幾個版本號的不會出錯,大於上面版本號的會出現解析錯誤

解決辦法

1:重新下載了 tomcat低版本 OK; 
tomcat8 下載的選擇

2:對參數進行urlencode

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章