虽然通过我的URL,例如something:8000/something.jsp?param1=update¶m2=1000¶m3=SearchString%¶m4=3
我收到以下错误:
Bad Request
Your browser sent a request that this server could not understand.
我知道SearchString%
,我需要作为参数传递,有问题。 然后如何通过含有URL“%”的参数??
虽然通过我的URL,例如something:8000/something.jsp?param1=update¶m2=1000¶m3=SearchString%¶m4=3
我收到以下错误:
Bad Request
Your browser sent a request that this server could not understand.
我知道SearchString%
,我需要作为参数传递,有问题。 然后如何通过含有URL“%”的参数??
代替%使用25%的URL中%具有特殊含义的转义字符
像(空间)特殊字符可以被编码象%20(对空间的ASCII码十六进制/ 32)
因此百分号本身必须使用十六进制代码%,这恰好是25进行编码
您可以使用http://www.asciitable.com/来查找HX列下的相应的十六进制代码
另外,如果你是编程这样做(即用JavaScript),你可以使用内置函数escape()
像escape('%')
看到这一点: 编码URL在JavaScript?
基本上,你需要确保你逝去的是编码的变量(“%”字符是URL编码特殊字符)。
任何特殊字符 - ?%,&,等...需要进行编码。 它们编码的“%”和他们的十六进制数。 所以, '%' 应该成为 '%25', '&' 变为 '%26',等等。
更新 :看你什么时候应该使用逃生,而不是是encodeURI / encodeURIComponent方法? 为什么你应该避免使用逃生。