个人觉得好像是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判断你没有登陆。。
根据官方文档来说,request.defaults({jar: true});
这一句已经开启了全局 cookiejar 了。
所以我怀疑两点:
-
第一次 post 登陆没有成功
-
试着把第二次放在 setImmediate 里面试试,说不定有奇效。
第一点,当你修改post里面的账号不对的时候,返回的是“用户名和密码不匹配”所以post应该是成功了的。放进去还是没有效果啊。本人刚接触node不久
http请求是即时关闭的连接, 不是长连接.
也就是你的账号密码在get的时候还要发送
或者你有取得目标网站发送的cookie来跟踪账户
后来通信就是利用cookie通信了吧,不然难道在Home.do?email=***&password=***这样吗?这样明文传输不对吧
已经解决