get_meta_tags http请求失败403禁止

时间:2019-04-09 12:15:23

标签: php

当我这样做时:

$tags = get_meta_tags('http://example.com');

我得到错误:禁止HTTP请求失败403,但是当我使用浏览器访问网站时一切正常,状态码:200。可能需要设置user_agent吗?但是我该怎么办呢?

2 个答案:

答案 0 :(得分:0)

您可以通过cURL进行操作。这是示例:

$user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, https://example.com);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$data = curl_exec($ch);
curl_close($ch);

return $data;

答案 1 :(得分:0)

您可以设置用户代理并检索元信息

ini_set('user_agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:7.0.1) Gecko/20100101 Firefox/7.0.1');
$meta_tags = get_meta_tags('www.example.com');

它将返回所有元标记的数组。

有关更多信息,请参阅PHP Manual