SlimerJS忽略SSL错误

Sam*_*Sam 5 ssl casperjs slimerjs

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

Dar*_*ook 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
    
    Run Code Online (Sandbox Code Playgroud)

故障排除

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