1

我正在发送一份姓名和电子邮件列表。

我正在尝试使用 curl 创建与此表单相同的功能

<form method="post" action='http://url'>        
    name: <input type="text" name="name" value='name1'>
    email:<input type="text" name="email" value='email1'>
    name: <input type="text" name="name" value='name2'>
    email: <input type="text" name="email" value='email2'>
    <input type="submit" value="Submit">
</form>

我想使用相同的密钥,所以我可以使用 django

names = request.POST.getlist('name')

获取列表中的所有名称。

现在我正在尝试使用 php curl 执行与表单相同的操作

$ch = curl_init();
$curlConfig = array(
CURLOPT_URL            => "http://url",
CURLOPT_POST           => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS     => array(
            'name' => 'name1',
            'email' => 'name1@email',
            'name' => 'name2',
            'email' => 'name2@email',
            ),
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
print $result;
curl_close($ch);

它不起作用,它只得到最后两个值。这是因为数组是关联的,所以最后的值会覆盖前面的值。

4

3 回答 3

1

在 PHP 中,数组键必须是唯一的。第二个“名称”会覆盖第一个“名称”中的数据,因此您需要稍微不同的方案。

于 2012-12-16T17:35:21.863 回答
1

我最后做的是使用字符串而不是 php assoicative 数组

$ch = curl_init();
$curlConfig = array(
CURLOPT_URL            => "http://url",
CURLOPT_POST           => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS     => "name=name1&emailname1@email&name=name2&email=name2@email"
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
print $result;
curl_close($ch);
于 2012-12-19T12:00:44.730 回答
0

你也许可以使用这样的东西。你有办法在 Django 脚本中转储数据吗?

CURLOPT_POSTFIELDS     => array(
    array(
            'name' => 'name1',
            'email' => 'name1@email',
         ),
    array(
            'name' => 'name2',
            'email' => 'name2@email',
         )
)
于 2012-12-16T17:38:36.983 回答