所以我试图抓住this site (my schools website)然而我似乎无法通过登录。
到目前为止,这是我的代码:
var request = require('request');
var cheerio = require('cheerio');
var j = request.jar();
var request = request.defaults({ jar : j })
var credentials = {
username: 'username',
password: 'password'
};
request.post({
uri: 'http://tick-tack.mediagymnasiet.se/Default.aspx',
headers: { 'content-type': 'application/x-www-form-urlencoded' },
body: require('querystring').stringify(credentials)
}, function(err, res, body){
if(err) {
callback.call(null, new Error('Login failed'));
return;
} else {
console.log("sucess!");
}
request('http://tick-tack.mediagymnasiet.se/Authenticated/Default.aspx', function(err, res, body) {
if(err) {
callback.call(null, new Error('Request failed'));
return;
} else {
console.log("sucess!");
}
var $ = cheerio.load(body);
var text = $('#topContainer').text();
console.log($('body').text());
});
});
任何可能的帮助?它看起来像我通过登录,但是当我发布任何数据时它仍然发布登录页面..
答案 0 :(得分:0)
很难说只看这个。它可能无法正常工作,因为他们正在寻找用户名/密码作为POST的标题或查询字符串本身传递?
你看过这篇文章了吗? https://www.haykranen.nl/2011/06/21/basic-http-authentication-in-node-js-using-the-request-module/