【发布时间】:2013-05-08 06:44:19
【问题描述】:
我想在 Curl Php 中以百分比编码格式发布我的数据。 我发布了一个数据名称=“测试测试测试”; 我希望将其编码为 test%20test%20test,但它会将数据发布为 test+test+test。
在传入 curl 之前,我还将 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()吗? -
是的,我尝试使用 rawurlencode 。我需要 % 编码格式
-
尝试将这个
$params[] = $key . '=' . rawurlencode($value);更改为$params[] = $key . '=' .$value;并将return implode('&', $params);替换为$data = urlencode(implode('&', $params)); -
我试过这个,但它不起作用。我只需要对值和键进行编码。