5

我在将 SlimerJS 整合到我的网络爬虫的道路上还很远,我遇到了一个问题。我正在处理的一个网站只是让他们的 SSL 证书失效。在查看Slimer 的 SSL 文档时,他们似乎不支持 PhantomJS 的ignore-ssl-errors选项。有没有解决的办法?出现在浏览器中的 SSL 证书错误页面没有任何continue可以让 Slimer 点击的按钮。作为一个仅供参考,我使用 CasperJS 作为 SlimerJS 的包装器。

4

1 回答 1

8

我的博客条目(粘贴在下面)解释了如何(它也显示了 Casper 说明):


SlimerJS(从 0.8.3 开始)缺少 PhantomJS 的命令行选项来表示“对坏证书放心”。不幸的是,开发人员通常在开发过程中使用的自签名 SSL 证书被视为无效证书。

以下是处理此问题所需的步骤:

  1. slimerjs --createprofile AllowSSL 记下它创建的目录。(您可以将您的新配置文件称为任何名称,例如“AllowSSL”。)

  2. 转到普通桌面 Firefox,浏览到有问题的 URL,查看投诉,将其添加为安全例外。如果您已经在测试您的网站,那么您可能已经完成了此操作,您可以跳过此步骤。

  3. 转到您的 Firefox 配置文件,并查找名为“cert_override.txt”的文件。将其复制到您在步骤 1 中创建的目录。

  4. 看看你刚刚制作的“cert_override.txt”的副本。如果它只有您在步骤 2 中添加的条目,那么您就完成了。否则,请删除您不想要的条目。(文件格式很简单:每行一个证书。)

  5. 现在,当您需要运行 slimerjs 时,您必须使用“-P AllowSSL”命令行参数运行它。例如slimerjs -P AllowSSL httpstest.js

    如果您将 SlimerJS 与 CasperJS 一起使用(需要 CasperJS 1.1 或更高版本),请执行相同操作,例如

    casperjs test --engine=slimerjs -P AllowSSL tests_involving_https.js
    

故障排除思路

用于export SLIMERJSLAUNCHER=/usr/bin/firefox让 SlimerJS 使用您的本地 Firefox 副本,而不是其内部 Gecko 引擎。这绝对可以工作,因为在上面的第 2 步中,您将安全例外添加到该版本的 Firefox。(上面的其余说明只是为了让它与 SlimerJS 附带的内部 Gecko 引擎一起工作。)

于 2013-12-17T05:19:33.660 回答