【发布时间】:2013-01-05 05:29:23
【问题描述】:
这是我在这里的第一个问题,所以请友好......
我正在尝试使用html2canvas 最终获取远程站点的屏幕截图(用户提交的网址)。
问题在于跨域安全功能。我无法读取画布,因为它已被场外资产锁定。
解决方案是使用库中内置的代理功能。
有一些 github 项目有 python 和 node.js 版本,但我需要在 php 中完成。
关于如何实现该功能以及如何使其工作的主题很多,但没有一个真正解释如何制作自己的代理。
我的问题有两个,PHP 中有没有现有的解决方案?如果没有,我有几个关于自己制作的问题: 1.) 代理的输出格式是什么? json对象?渲染的图像? base64 编码的数据字符串? 2.) 这些文件是否需要保留在服务器上,或者它们是否可以被渲染然后消失(覆盖)?
这大概是我的想法:
$img_url = urldecode($_GET['url']);
$img_data = base64_encode(file_get_contents($img_url));
//shouldn't need it since it's not cross domain now, but a CORS header could be inserted
header('content-type: application/json; charset=utf-8');
json_encode("{$_GET['callback']}($img_data)");
【问题讨论】:
-
我有一个可行的解决方案。我会在 8 小时窗口结束后发布...FNG 在这里。
标签: php proxy html2canvas