是否可以使用php中的cURL向页面发送多关联数组?
我能够传递数组,但会发生以下情况:
// Open Connection
$ch = curl_init();
// Set the URL
curl_setopt($ch, CURLOPT_URL, $this->config['submission']['eyerys']);
// Set the number of fields being sent:
curl_setopt($ch,CURLOPT_POST,count($this->call['info']));
// The string to send:
curl_setopt($ch,CURLOPT_POSTFIELDS,$string);
// Return transfer:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// SSL verification:
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// Execute the post:
$result = curl_exec($ch);
$this->pre($result);
// Close connection:
$curl_close($ch);
我得到以下输出:
Array
(
[info] => Array
[answers] => Array
[errors] => Array
)
答案 0 :(得分:1)
不,因为curl不知道你想如何编码它。并非每个服务器端语言/框架都使用相同的方式。我认为PHP是用户只需通过包含[]
的密钥发送数据就可以创建数组的唯一语言。例如。在python世界中,只需发送两次相同的值,然后使用不同的函数(例如.getlist('key')
- 取决于框架)来访问数组而不是单个值。
如果您可以控制远程脚本,请考虑使用标准化的东西,例如JSON。而不是发送一个formencoded的POST字符串,而是发送一个纯JSON正文或一个包含JSON的formencoded POST值。
如果不这样做,您很可能必须自己编码POST数据。