我有一个PHP脚本,它使用以下变量执行POST请求:
p=%2FL9yGFPv9nEbsH1oYfh3R9q2wiVawsw72UlGnRcObmm80F3EDjQ0aU4EMWcbHybb
然而,我的服务器得到了
p=/L9yGFPv9nEbsH1oYfh3R9q2wiVawsw72UlGnRcObmm80F3EDjQ0aU4EMWcbHybb
这是一个Curl POST请求。 造成这种情况的原因是什么?如何解决?
提前致谢。
答案 0 :(得分:1)
如果您希望它正确显示,当您在页面上显示字符串时,只需使用urlencode()
:
$_GET['p'] = urlencode($_GET['p']);
这将转换任何已转换的内容,因为查询字符串前面有%
。
答案 1 :(得分:1)
urlencode($_POST['the-value']);
将撤消已完成的任何解码。
例如......
echo urlencode('/L9yGFPv9nEbsH1oYfh3R9q2wiVawsw72UlGnRcObmm80F3EDjQ0aU4EMWcbHybb');
会产生......
%2FL9yGFPv9nEbsH1oYfh3R9q2wiVawsw72UlGnRcObmm80F3EDjQ0aU4EMWcbHybb