PHP cURL 不发送适当的 header

标签 php curl header

我尝试在 PHP 中使用 cURL 发送一些 header ,但 header 未发送。

代码是:

$header = array('Referer: xxx',
        'Origin: xxx',
        'Content-Type: application/x-www-form-urlencoded',
        'Connection: keep-alive',
        'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3',
        'Cache-Control: max-age=0',
        'Except:');

并使用这个:

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$t = curl_exec($ch);

$sentHeaders = curl_getinfo($ch);

var_dump($sentHeaders);

在转储中我没有看到来源、内容类型、引荐来源网址,什么都没有...我正在尝试发送 POST 但它没有发送。

我做错了什么?

编辑: 现在 POST 没有发送:

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_URL, $url);
$t = curl_exec($ch);

最佳答案

添加此选项以在 getinfo 调用中查看请求 header :

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

关于PHP cURL 不发送适当的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13537807/

相关文章:

C++由于多次包含头文件而重新定义

javascript - 无论我尝试什么,请求的资源错误上均不存在 'Access-Control-Allow-Origin' header

html - 菜单覆盖标题

php - 将 phpmailer V6 与 docker-compose 结合使用

PHPUnit 测试套件命名约定

php - triconsole 日历不与位于下方的日历重叠

php - 用 mysql 数组填充 php 表单字段(点击)

php - 如何在 HTTP/1.1 中使用 PHP cURL

php - YouTube API v2.0 - OAuth 2.0授权

php - PHP cURL仅在某些请求上出现问题