URL编码详细信息

时间:2016-06-09 00:23:12

标签: http encoding urlencode

对于网址编码,我的意思是这个(http://www.w3schools.com/tags/ref_urlencode.asp),我的问题是网址编码,我应该整体编码param1=<xxx>&param2=<yyy>,还是只编码xxx和{{1} } 部分?或者我应该单独编码yyyparam1=<xxx>吗?感谢。

param2=<yyy>
提前谢谢, 林

1 个答案:

答案 0 :(得分:0)

如果您对之后的所有内容进行编码?

  • 你必须进行1次解码才能获得完整的字符串
  • 一旦完成,如果没有令人困惑的字符,你将能够访问你的参数(你可能有问题,如果你在值中有=,因为对于parm值分隔符或在值内没有区别)

如果只编码params

  • 您必须解码每个值
  • 一旦解码,您将能够直接访问您的参数值而没有问题(如果值包含=则没有问题)

这就是为什么我建议只对值进行编码,以确保不会与=作为参数值分隔符和编码值混淆:

=在某个值中会被编码,所以你会发现=之后?只会用于分隔符

让我说你之后编码了一切吗? :

没问题:P1 =&#34; abc&#34; P2 =&#34; 123&#34;

P1 = abc&amp; P2 = 123 =&gt; encoded =&gt; P1 = abc&amp; P2 = 123 =&gt; decode =&gt; P1 = ABC&安培; P2 = 123

问题:P1 =&#34; a&amp; b = c&#34; P2 =&#34; 12&#34; (不太可能,但让我们说它发生了)

P1 = a&amp; b = c&amp; P2 = 12 =&gt; encoded =&gt; P1 = a&amp; b = c&amp; P2b = 12b = 3a =&gt; decode =&gt; P1 = a&amp; b = c&amp; P2 = 12(如果您尝试访问GET参数,服务器将看到3个参数:P1 = a,b = c,P2,= 12)