如何在Guzzle中设置referer头

时间:2016-05-11 14:11:03

标签: php http guzzle

我正在尝试在guzzle请求中设置引用标头,但是当我分析请求Chrome开发人员工具时,referer标头不在请求标头列表中。这是我设置标题的方式:

 $headers = ['referer' => 'test.referer.com'];
    $guzzle = new Client([
        'defaults' => ['headers' => $headers]
    ]);
    $result = $guzzle->get('http://google.com');
    return $result;

我已经尝试了多种其他解决方案,但它仍然无效。我错过了什么?

2 个答案:

答案 0 :(得分:11)

如果是v6

$headers = ['Referer' => 'test.referer.com'];
$guzzle = new \GuzzleHttp\Client([
    'headers' => $headers
]);
$result = $guzzle->get('http://google.com');
return $result;

您不需要奇怪的参数default

需要Referer。不是referer

答案 1 :(得分:0)

(在6.3中进行了测试)Guzzle似乎无法可靠地传递通过标头设置的Referrer标头。通常,您随时可以在需要时设置原始卷曲选项:

 $guzzle->get('http://google.com',[
     'curl' => [
          CURLOPT_REFERER => 'https://NotLiveYet.com'
      ]);