phantomjs模拟登录
最近在做一些公司其他部门系统的后台模拟操作,但由于那边的系统最开始是外包给其他公司开发的,现在那边的开发也不知道有些post的参数是如何生成的。于是想考察下是不是可以把phantomjs这个工具给加进来避开后台的模拟操作。
做了个oschina模拟登录的例子,找到了phantomjs的api,直接开干就行了。(在这里省略了一个步骤,就是cookie值不是js打印的,而是我直接手动登录后提取的)
脚本如下:
var page = require('webpage').create(), system = require('system'), address; phantom.addCookie({ 'name' : 'Cookie', /* required property */ 'value' : '_reg_key_=Kg8nuWPyQFYx2IvpAIGY; oscid=2Br68t5ibgWxWhlyAo8prm7ObzjWdX6JrMNzpg7UIb7dssJPFnC5bw0ELoIA9aEqGCtLQZk', 'size' :142 }); if (system.args.length === 1) { phantom.exit(1); } else { address = system.args[1]; page.open(address, function (status) { console.log(page.content); phantom.exit(); }); }
验证一下脚本:
sh-3.2# phantomjs test.js http://my.oschina.net/rasine/blog/333056
打印的内容显示登录成功。