The valid characters are defined in RFC 7230 and RFC 3986

先來吐槽一下,美團的開放平臺真的是垃圾中的垃圾,所有接口以GET訪問,並且中文不編碼,有好多非法字符比如[]{}"|!等,這樣很不好處理。網上好多說直接在spring boot 啓動設置

System.setProperty("tomcat.util.http.parser.HttpParser.requestTargetAllow", "|{}[]");

但是隻能解決[]和{}好像是,反正很蛋疼。

一、修改Tomcat 配置server.xml配置文件

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

主要就是加入 relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"

二、設置Tomcat 的啓動參數

爲什麼要加上 -Dfile.encoding=UTF-8  呢?因爲要在項目中使用http get 請求,要不對方收到的就是亂碼。下面是參照配置

SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_231
SET TOMCAT_HOME=D:\apache-tomcat-8.5.50
set JAVA_OPTS=-Xms256m -Xmx2048m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/heapdump.hprof

 

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