如何使用PHP在本地主机中使用Page Speed Insight API



嗨,我正在尝试使用PHP 中的google速度洞察API来获得页面速度洞察

$api = 'API KEY';
$url = 'https://www.stackoverflow.com/';
$url_sh = "https://www.googleapis.com/pagespeedonline/v1/runPagespeed?url=".$url."&key=".$api;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url_sh);
$result=curl_exec($ch);
curl_close($ch);
var_dump(json_decode($result, true));

但是得到NULL值作为结果

我也尝试了json_decode,但得到了相同的输出

版本1的api在很久以前就被弃用了,最新版本是版本5,所以你只需要将你的url更改为

https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=".$url."&key=".$api;

你可以在这里阅读入门文档

尽管"谷歌入门"文档建议使用域:

https://www.googleapis.com/pagespeedonline/v5/runPagespeed

对于页面速度的见解,我发现网址:

https://pagespeedonline.googleapis.com/pagespeedonline/v5/runPagespeed

对于runPageSpeed来说更可靠。

我使用下面显示的cURL选项来运行页面速度洞察:

$api = 'API KEY';
$url = 'https://www.stackoverflow.com/';
$url_sh = "http://pagespeedonline.googleapis.com/pagespeedonline/v5/runPagespeed?url=".$url."&key=".$api;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURL_TIMEOUT, 200);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL,$url_sh);
$result=curl_exec($ch);
curl_close($ch);
var_dump(json_decode($result, true));

CURLOPT_SSL_VERIFYPEER选项设置为0对于代码的运行至关重要。

最新更新