Red de conocimiento informático - Problemas con los teléfonos móviles - Los caracteres válidos se definen en RFC 7230 y RFC 3986.

Los caracteres válidos se definen en RFC 7230 y RFC 3986.

También hay algunos caracteres que pueden causar ambigüedad en el analizador si se colocan directamente en la URL. Estos personajes se consideran inseguros por varias razones.

Codifique en URL el valor de la solicitud (pero Spring Boot solo decodificará la URL una vez de forma predeterminada, y la segunda decodificación debe agregarse por separado)

Reemplace Tomcat con una versión inferior ( consejo: gt ;=8.0.39 y gt;=9.0.0.M12 tienen el mismo problema)

Utilice contenido POST para enviar datos (en el cuerpo)

1.~/ conf/catalina. properties, busque la última línea comentada # opción tomcat.util.http.parser.HttpParser.requestTargetAllow, cámbiela a tomcat.util.http.parser.requestTargetAllowhttp.parser.HttpParser.requestTargetAllow=|{}, el La opción está separada en una matriz de caracteres, lo que indica la liberación ["|", "{", "}"]

2. Alternativamente, puede agregar org.apache.tomcat en la última línea de ~/conf /catalina.properties.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true

Agregar tomcat.util.http.parser.ALLOW_ENCODED_SLASH=true

3. Agregar tomcat.util.http.parser .HttpParser al inicio .requestTargetAllow=|{}

Ejemplo: # java -jar -Dtomcat.util.http.parser.HttpParser.requestTargetAllow=|{} demo-0.0.1-SNAPSHOT.jar