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

使用Screendot API无法输出截图,请求技术协助

问题排查与解决方案

针对你使用Screendot API截图失败的问题,核心修复和排查步骤如下:

1. 替换无效的Authorization认证头

代码里的"Authorization: Describe api here"是占位文本,必须替换为Screendot API要求的真实认证信息。通常这类API采用Bearer令牌格式,示例如下:

"header" => "Authorization: Bearer 你的专属API密钥"

你需要从Screendot的官方控制台获取有效API密钥,替换上述占位内容。

2. 增加错误捕获机制

file_get_contents请求失败时可能静默返回false,添加错误检测代码能直接定位问题:

$screenshot = file_get_contents("https://screendot.io/api/standard?url=https://www.google.com", false, $context);

if ($screenshot === false) {
    $error = error_get_last();
    die("请求失败:" . $error['message']);
}

3. 正确处理图片响应

如果API返回的是二进制图片数据,直接echo前需设置对应HTTP头,否则浏览器会显示乱码:

header('Content-Type: image/png'); // 根据API实际返回格式调整,如image/jpeg
echo $screenshot;

4. 改用CURL提升调试效率(可选)

若file_get_contents仍无法解决问题,使用CURL可获取更详细的请求状态和错误信息:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://screendot.io/api/standard?url=https://www.google.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer 你的专属API密钥"
]);

$screenshot = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($screenshot === false) {
    die("CURL错误:" . curl_error($ch));
}

if ($httpCode !== 200) {
    die("API错误状态码:" . $httpCode . ",响应内容:" . $screenshot);
}

header('Content-Type: image/png');
echo $screenshot;
curl_close($ch);

优先确认API密钥的有效性,这是此类请求失败的最常见原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:42:17