You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CURLINFO或cURL获取Referrer值

从cURL请求中获取Referrer值的正确方法

你的代码无法正常运行的核心问题是没有执行cURL请求,curl_getinfo()需要在curl_exec()执行请求之后,才能获取到有效的请求/响应相关信息。另外,若要获取请求中发送的Referer,需先通过CURLOPT_REFERER设置对应的请求头。

情况1:获取请求中发送的Referer值

如果你想确认自己的cURL请求发送了什么Referer,可使用以下代码:

$curldomain = "https://www.example.com/";
$referrer = "https://www.your-referrer-domain.com/"; // 自定义要发送的Referer

$ch = curl_init($curldomain);

// 设置cURL基础选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
// 设置请求头中的Referer
curl_setopt($ch, CURLOPT_REFERER, $referrer);

// 执行cURL请求
$response = curl_exec($ch);

// 处理请求结果
if ($response === false) {
    echo 'cURL错误: ' . curl_error($ch);
} else {
    // 获取请求中实际发送的Referer
    $referrerValue = curl_getinfo($ch, CURLINFO_REFERER);
    echo '请求发送的Referer: ' . $referrerValue;
}

// 关闭cURL资源
curl_close($ch);

情况2:追踪跳转过程中的Referer变化

如果目标URL发生跳转,想要查看跳转过程中的Referer细节,可开启CURLOPT_VERBOSE模式查看详细请求日志:

$curldomain = "https://www.example.com/";

$ch = curl_init($curldomain);

// 设置cURL选项
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
// 开启verbose模式,记录详细请求过程
curl_setopt($ch, CURLOPT_VERBOSE, true);
// 将日志输出导向临时文件,避免直接显示在页面
$verboseHandle = fopen('php://temp', 'w+');
curl_setopt($ch, CURLOPT_STDERR, $verboseHandle);

// 执行请求
$response = curl_exec($ch);

// 读取并输出verbose日志
rewind($verboseHandle);
$verboseLog = stream_get_contents($verboseHandle);
fclose($verboseHandle);
echo '<pre>' . htmlspecialchars($verboseLog) . '</pre>';

// 关闭cURL资源
curl_close($ch);

关键要点

  • 必须在curl_exec()执行请求之后调用curl_getinfo(),否则无法获取有效数据。
  • CURLINFO_REFERER返回的是cURL发送的Referer值,而非服务器返回的内容。若要提取响应头中的Referer相关信息,需要自行解析通过CURLOPT_HEADER获取的响应头内容。

内容的提问来源于stack exchange,提问作者JK Sandhiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 17:25:00