URL 编码细节
URL encoding details
对于URL编码,我的意思是这个(http://www.w3schools.com/tags/ref_urlencode.asp),我的问题是URL编码,我应该把param1=<xxx>¶m2=<yyy>
整体编码,还是只编码xxx
和 yyy
部分?或者我应该分别编码 param1=<xxx>
和 param2=<yyy>
吗?谢谢。
http://hostname/func?param1=<xxx>¶m2=<yyy>
提前致谢,
林
如果在 ?
之后对所有内容进行编码
- 您必须进行 1 次解码才能获得完整的字符串
- 完成后,如果没有令人困惑的字符,您将能够访问您的参数(您可能会遇到问题,如果您在值中有 =,因为参数值分隔符或内部的 = 之间没有区别一个值 )
如果您只对参数进行编码
- 你必须解码每个值
- 一旦解码,您将能够毫无问题地直接访问您的参数值(如果值包含 = 则没有问题)
这就是为什么我建议只对值进行编码,以确保不会将 = 作为参数值分隔符和编码值混淆:
= 中的值将被编码,因此您会在 ? 之后找到 =将仅用于分隔符
假设你在 之后对所有内容进行编码? :
没问题:P1 = "abc" P2 = "123"
P1=abc&P2=123 => 编码 => P1=abc&P2=123 => 解码 => P1=abc&P2=123
问题:P1 = "a&b=c" P2 =“12”(不太可能,但假设它发生了)
P1=a&b=c&P2=12 => encoded => P1=a&b=c&P2b=12b=3a => decoded => P1=a&b=c&P2=12(如果你尝试访问,服务器将看到 3 个参数获取参数:P1 = a, b = c, P2, = 12 )
对于URL编码,我的意思是这个(http://www.w3schools.com/tags/ref_urlencode.asp),我的问题是URL编码,我应该把param1=<xxx>¶m2=<yyy>
整体编码,还是只编码xxx
和 yyy
部分?或者我应该分别编码 param1=<xxx>
和 param2=<yyy>
吗?谢谢。
http://hostname/func?param1=<xxx>¶m2=<yyy>
提前致谢, 林
如果在 ?
之后对所有内容进行编码- 您必须进行 1 次解码才能获得完整的字符串
- 完成后,如果没有令人困惑的字符,您将能够访问您的参数(您可能会遇到问题,如果您在值中有 =,因为参数值分隔符或内部的 = 之间没有区别一个值 )
如果您只对参数进行编码
- 你必须解码每个值
- 一旦解码,您将能够毫无问题地直接访问您的参数值(如果值包含 = 则没有问题)
这就是为什么我建议只对值进行编码,以确保不会将 = 作为参数值分隔符和编码值混淆:
= 中的值将被编码,因此您会在 ? 之后找到 =将仅用于分隔符
假设你在 之后对所有内容进行编码? :
没问题:P1 = "abc" P2 = "123"
P1=abc&P2=123 => 编码 => P1=abc&P2=123 => 解码 => P1=abc&P2=123
问题:P1 = "a&b=c" P2 =“12”(不太可能,但假设它发生了)
P1=a&b=c&P2=12 => encoded => P1=a&b=c&P2b=12b=3a => decoded => P1=a&b=c&P2=12(如果你尝试访问,服务器将看到 3 个参数获取参数:P1 = a, b = c, P2, = 12 )