有没有办法转义 url 字符串参数中的所有特殊字符?
Is there a way to escape all the special characters in a url string parameter?
我需要用户能够将文件路径作为 get 的参数传递 url(文件不会被上传,出于某些安全原因,仅使用本地文件路径)。现在他们很难将所有反斜杠更改为“%5”。我想知道是否有办法强制对 url 的一部分进行编码。例如一些简单的东西,比如把它放在双引号中,这是行不通的...
http://example.com/"c:\user\somone\somefile.txt"/dosomething
我最终在服务器级别使用了剩余路由的模式匹配。像这样:
/example.com/*path/dosomething
所以它会匹配任何路径,即使 slashes/backslashes。最后,我对 url 进行了解码,以消除浏览器为 space.
等字符传递的转义字符
java.net.URLDecoder.decode(path, "UTF-8")
我需要用户能够将文件路径作为 get 的参数传递 url(文件不会被上传,出于某些安全原因,仅使用本地文件路径)。现在他们很难将所有反斜杠更改为“%5”。我想知道是否有办法强制对 url 的一部分进行编码。例如一些简单的东西,比如把它放在双引号中,这是行不通的...
http://example.com/"c:\user\somone\somefile.txt"/dosomething
我最终在服务器级别使用了剩余路由的模式匹配。像这样:
/example.com/*path/dosomething
所以它会匹配任何路径,即使 slashes/backslashes。最后,我对 url 进行了解码,以消除浏览器为 space.
等字符传递的转义字符java.net.URLDecoder.decode(path, "UTF-8")