我正面临一个问题,我只需要在标头中发送一个数组,在正文中发送一些参数,但是当我添加
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Token:'.$token));
此行发送令牌,但参数数组为空,但是当我刚删除该行时,参数成功发送但令牌丢失
代码如下:
$data = array(
'name' => $_POST['name'],
'city' => $_POST['city'],
'mobileNo' => $_POST['mobileNo'],
);
$params = http_build_query($data);
$curl = curl_init('URL');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_HTTPHEADER,
array('Token:'.$token));
$result = curl_exec($curl);
答案 0 :(得分:1)
这是因为您覆盖了标头,并且因为缺少内容类型标头。您必须将该标头添加到标头数组:
curl_setopt($curl, CURLOPT_HTTPHEADER,array(
'Token: '.$token,
'Content-Type: application/x-www-form-urlencoded',
'Content-Length: '.strlen($params)
));
编辑:我已将帖子更新到有效的解决方案