我有这个网址:
http://www.mywebsite.com/TrackEmail?j=eyJ1IjoiMzdDOC42MS4wLjE0OCJ9&r=0.569019181653857.gif
我对这部分&r=0.5...
感兴趣。此&
编码为&
符号,因此不会将其解释为params分隔符。所以我假设j
param的值为eyJ1IjoiMzdDOC42MS4wLjE0OCJ9&r=0.569019181653857.gif
。但是,当我输出j
参数值$_REQUEST['j']
时,它只显示&
- eyJ1IjoiMzdDOC42MS4wLjE0OCJ9
之前的部分。为什么这样?
什么是r=0.5...
?我无法像$_REQUEST['r']
那样访问它。
答案 0 :(得分:1)
我对这部分
&r=0.5
感兴趣。此&
编码为&
符号,因此不会将其解释为params分隔符。
&
在URI中没有特殊含义。在 HTML 中,它表示&
,它不是字符引用的开头。
如果您想为&
编码一个URI(这似乎不是此代码的意图),那么您需要使用URI编码:%26
什么是
r=0.5
......?我无法像$_REQUEST['r']
那样访问它。
如果该URI出现在HTML中,除非它被cookie覆盖或发布数据(我没有记住$_REQUEST
的优先顺序),您应能够。
但是,如果您将URI的HTML表示粘贴到浏览器的地址栏中(或以其他方式获取而不将其解析为HTML ),则数据将显示在{{1而不是$_REQUEST['amp;r']
。
答案 1 :(得分:0)
&
是HTML或XML编码,而不是URL编码。
您需要使用%26
代替将&符号插入不属于查询参数的网址。