我想以百分比编码格式发布我的数据在Curl Php。 我发布数据名称=“test test test”; 我希望将其编码为test%20test%20test,但它将数据发布为test + test + test。在卷曲过程中如何百分比encoading发布参数
在通过卷曲之前,我还使rawurlencode方法编码百分比,但curl将其转换为正常编码。
请让我知道我错过了什么?
//creating my post parameter
$params = array();
foreach ($array as $key => $value) {
$params[] = $key . '=' . rawurlencode($value);
}
return implode('&', $params);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_ENCODING, "");
$result = curl_exec($ch);
你试过'urlencode()'吗? – HamZa 2013-05-08 06:52:53
是的,我用rawurlencode尝试。我需要它以%encoading格式 – 2013-05-08 06:54:46
试着改变这个'$ params [] = $ key。 '='。 rawurlencode($ value);'到'$ params [] = $ key。 '='。$ value;'并替换'返回implode('&',$ params);'用'$ data = urlencode(implode('&',$ params));' – HamZa 2013-05-08 07:00:49