我正在尝试将URL作为查询字符串的参数发送,如下例所示:
http://localhost.com/myapp.jsp?pathToFileURL=http://192.168.0.1/my_file.pdf
我所做的是在将路径发送到服务器之前使用了编码URL对路径进行编码,问题是由于这个原因我得到了“400无效的URI:noSlash”。
从我读到的问题是tomcat安全性,我应该向tomcat启动添加一个参数
-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH = true
但是我无法修改tomcat的参数,所以可以用其他方式吗?
由于
答案 0 :(得分:1)
在黑暗中完成刺,但您可以尝试使用反斜杠转义斜杠,或者您可以尝试使用%2F
替换它们,这是正斜杠的URL编码版本。
希望这有帮助。
答案 1 :(得分:1)
您可以在客户端执行 URLSafebase64 编码,在服务器端执行 URLSafebase64 解码。 检查 URLEncoder 类以获取更多详细信息: http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.html
您可以在使用任何在线URL编码器/解码器进行编码之前手动测试。只需谷歌“URL编码器/解码器”
答案 2 :(得分:0)
Base64然后在接收端base64上解析URL以获取原始URL而不做任何更改