SlimerJS忽略SSL错误

时间:2013-12-17 02:48:23

标签: ssl casperjs slimerjs

我在将SlimerJS纳入我的网络刮刀的道路上走得很远,而且我遇到了一个问题。我正在处理的一个网站上的SSL证书无效。查看Slimer's SSL documentation后,他们似乎不支持PhantomJS的ignore-ssl-errors选项。有没有解决的办法?浏览器中显示的SSL证书错误页面没有任何我可以使Slimer单击的continue按钮。作为一个FYI,我使用CasperJS作为SlimerJS的包装。

1 个答案:

答案 0 :(得分:8)

我的blog entry(粘贴在下面)解释了如何(并且它也显示了Casper说明):


SlimerJS(截至0.8.3)缺少PhantomJS的命令行选项来说“放松关于不良证书”。不幸的是,开发人员通常在开发过程中使用的自签名SSL证书被视为错误的证书。

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

  1. slimerjs --createprofile AllowSSL 记下它创建的目录。 (您可以调用新的个人资料,例如“AllowSSL”。)

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

  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
    

  6. 疑难解答

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