我有一个来自$ _POST的数据数组,我想通过curl将它们发送到另一个页面.
curl_setopt($s,CURLOPT_POST,true);
curl_setopt($s,CURLOPT_POSTFIELDS,$this->_postFields);
Run Code Online (Sandbox Code Playgroud)
$this->_postFields必须是一个像a=2&b=t正确的字符串?
所以,如果我想将curl数据发送到另一个页面,我必须将数组转换为查询字符串吗?
我应该如何使用PHP?
♦我尝试过serialize(),unserialize()但是他们的格式与查询字符串不一样吗?
所以我该怎么做?(我需要像.serialize()jQuery那样在数组上工作而不是FORM)
♦并且目标路径不在我的控制之下,并且目标中的$ _POST应该是$ _POST而不是它的base64编码所以我不能使用这样的代码.
$array = array(1,2,3);
$encoded = json_encode($array);
$decoded = json_decode($encoded);
print_r($decoded);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
提前致谢.
我想你可以这样做:
curl_setopt($s, CURLOPT_POSTFIELDS, http_build_query($this->_postFields));
Run Code Online (Sandbox Code Playgroud)
您可以使用http_build_query:
curl_setopt($s, CURLOPT_POSTFIELDS, http_build_query($this->_postFields));
Run Code Online (Sandbox Code Playgroud)
注意
它看起来很漂亮,但要使用这种方法,请注意url编码.接下来:
$_POST["some value"]='value1'; // " " between
$_POST["next value"]='value2'; // " " between
$url = http_build_query($_POST);
echo $url;
// OUTPUT
some+value=value1&next+value=value2
Run Code Online (Sandbox Code Playgroud)
当然,在发送这个$ url后,我们不会从$ _POST获得预期的变量.
| 归档时间: |
|
| 查看次数: |
1915 次 |
| 最近记录: |