我们想使用 Phantomjs 连接到我们的内部文档系统并打印网站的源代码以供进一步使用。
脚本基本上来自示例:
> var page = require('webpage').create(),
> system = require('system');
>
> page.open('https://servername.domain.net/web/topicname?refresh=on',
> function () {
> console.log(page.content);
> phantom.exit(); });
我们从 phantomjs 主页下载了二进制包,并将其解压缩到我们的 debian jessie 服务器并执行脚本:
root@servername:/usr/local/share/phantomjs-2.1.1-linux-x86_64/examples# phantomjs script.js --ssl-protocol=any --ignore-ssl-errors=true
不幸的是,我们只得到一个空的 html 源代码:
<html><head></head><body></body></html>
如果我们使用phantomjs的Windows二进制文件在您的一台Windows客户端PC上执行此操作,则它可以顺利运行。
当 phantomjs 脚本从 debian 服务器执行时,apache 访问日志不会显示任何访问。(该错误.log启用调试后至少显示已建立的SSL连接(
我错过了什么吗?
任何反馈不胜感激!
谢谢
这是SSL证书问题。您包含了正确的开关以忽略 SSL 错误,但没有在正确的位置。PhantomJS 设置开关位于脚本路径之前:
phantomjs --ssl-protocol=any --ignore-ssl-errors=true script.js