在试用node.js 模拟登陆人人,结果碰到了一些问题,求大大们解答
发布于 11 年前 作者 DualWield 3319 次浏览 最后一次编辑是 8 年前

个人觉得好像是cookie没有保存,怎么办? <pre> var request = require(‘request’); var fs = require(‘fs’);

var request = request.defaults({jar: true});

request.post(‘http://www.renren.com/ajaxLogin/login’,{form:{email:'’,password:’}},function (error,response,body){ console.log(body);

request.get({url:'http://www.renren.com/Home.do'},function (error,response,body){
    fs.writeFileSync('body.txt', body);

})

});

</pre>

在第二个request.get()方法并没有取得想要的主页内容,Home.do判断你没有登陆。。

6 回复

根据官方文档来说,request.defaults({jar: true}); 这一句已经开启了全局 cookiejar 了。

所以我怀疑两点:

  1. 第一次 post 登陆没有成功

  2. 试着把第二次放在 setImmediate 里面试试,说不定有奇效。

第一点,当你修改post里面的账号不对的时候,返回的是“用户名和密码不匹配”所以post应该是成功了的。放进去还是没有效果啊。本人刚接触node不久

http请求是即时关闭的连接, 不是长连接.

也就是你的账号密码在get的时候还要发送

或者你有取得目标网站发送的cookie来跟踪账户

已经解决

回到顶部