[英]Why isn't this attempt to log into reddit using superagent on Node.js successful?
这是我可以减少的最小的测试用例。 如果您更熟悉其中任何一个,可能有助于将其转换为使用本机Node HTTP或使用请求库。 但事实上,我得到了一堆jquery垃圾。 AFAICT,发送的HTTP POST请求与curl编程的相同: https : //stackoverflow.com/a/15169425/3025492
var USER = 'uuuut',
PASS = 'ppppt';
superagent
.post( 'https://pay.reddit.com/api/login/' )
.send( { api_type: 'json', rem: 'True',
user: USER, passwd: PASS } )
.end( function( res ) {
console.log( 'Session cookie: ', res.body.data.cookie || res.headers['Set-Cookie'] );
});
正确完成后,它只是设置一个身份验证cookie。
您的代码中有几个问题:
form
的post请求而不是json
,所以你需要方法.type('form')
res.body.json.data.cookie
res.headers['set-cookie']
完整代码:
superagent
.post( 'https://pay.reddit.com/api/login/' )
.type('form') // send request in form format
.send( { api_type: 'json', rem: 'True',
user: USER, passwd: PASS } )
.end( function(err, res) {
console.log( 'Session cookie: ', res.body.json.data.cookie || res.headers['set-cookie']);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.