【发布时间】:2017-11-06 12:42:35
【问题描述】:
我需要截取页面截图。我可以使用 Google API 截取页面的屏幕截图。
如果我输入URL=mydomain.com/,那么它可以工作,但如果我使用URL=mydomain.com/new/index/6,那么我会收到错误
警告:file_get_contents(www.googleapis.com/pagespeedonline/v2/runPagespeed?url=mydomain.com/new/index/6&screenshot=true):打开流失败:HTTP 请求失败!
中的 HTTP/1.0 400 错误请求
你能帮我解决这个问题吗?
<?php
//website url
$siteURL = "mydomain.com/new/index/6";
//call Google PageSpeed Insights API
$googlePagespeedData = file_get_contents("https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=$siteURL&screenshot=true");
//decode json data
$googlePagespeedData = json_decode($googlePagespeedData, true);
//screenshot data
$screenshot = $googlePagespeedData['screenshot']['data'];
$screenshot = str_replace(array('_','-'),array('/','+'),$screenshot);
//display screenshot image
echo "<img src=\"data:image/jpeg;base64,".$screenshot."\" />";
?>
【问题讨论】:
-
查看公共区域后的所有权限
-
您可能还需要在尾部添加斜杠
$siteURL = "mydomain.com/new/index/6/";尝试一下,并确保该文件夹中有索引文件。 -
您似乎正在将您的网址连接到 Google 网址。尝试使用
urlencode($siteURL)。 -
@Fred-ii- 我尝试了斜杠但同样的问题
-
@timclutton,我也试过了,但是问题
标签: php google-api screenshot