我想使用casperjs /幻影来自动填写一些网页表格。为了调试我的casperjs脚本,我想使用(非常好的) Charles Web代理作为中间人SSL代理,但是还没有弄清楚如何在casperjs /幻影中工作。
什么起作用
我使Charles能够在Firefox和远程服务器之间进行代理。浏览器和远程服务器都接受SSL证书,Charles正确地解码了HTTPS数据包,这样我就可以看到浏览器和远程服务器之间的通信量。到目前一切尚好。
我还能够在没有Charles代理的情况下运行casperjs脚本,并验证了我的脚本正确地将我登录到远程站点,如下所示:
$ casperjs test-login.js
found login form...
logged in...也不错。
什么不起作用
当我试图通过Charles指示幻影到代理时,如:
$ casperjs --web-security=no --proxy=127.0.0.1:8888 test-login.js..。casperjs甚至没有接收登录页面,以下内容显示在Charles控制台中:
URL     https://www.<my server>.com
Status  Failed
Failure No request was made. Possibly the SSL certificate was rejected.
Notes   You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.我的猜测是幻影浏览器不喜欢查尔斯提供的SSL证书,但我认为--web-security=no应该覆盖它。
我可能漏掉了一些明显的东西。有人走过这条路吗?
更新
我偶然发现了解决办法。见下文..。
ps
$ casperjs --version
1.1.0-beta3
$ phantomjs --version
1.9.8..。查尔斯是诉3.10.1
发布于 2015-05-19 18:40:11
(如果回答自己的问题是一项奥林匹克运动,我就会争夺金牌。)
添加--ignore-ssl-errors=true是必要的,并且足够让事情正常工作--通过这个,您可以看到所有通过Charles的流量:
$ casperjs --ignore-ssl-errors=true --proxy=127.0.0.1:8888 test-login.js
found login form...
logged in...备注
给智者的话:如果交易看起来真的很缓慢,请确保你没有意外地打开查尔斯的节流开关。曾在那里!)
https://stackoverflow.com/questions/30293383
复制相似问题