0
所以我试图抓this site (my schools website)但我似乎无法通过登录。刮一个需要使用nodejs认证的网站
这是我到目前为止的代码:
var request = require('request');
var cheerio = require('cheerio');
var j = request.jar();
var request = request.defaults({ jar : j })
var credentials = {
\t username: 'username',
\t password: 'password'
};
request.post({
\t uri: 'http://tick-tack.mediagymnasiet.se/Default.aspx',
headers: { 'content-type': 'application/x-www-form-urlencoded' },
\t body: require('querystring').stringify(credentials)
}, function(err, res, body){
\t if(err) {
\t \t callback.call(null, new Error('Login failed'));
\t \t return;
\t } \t else {
\t console.log("sucess!");
}
\t request('http://tick-tack.mediagymnasiet.se/Authenticated/Default.aspx', function(err, res, body) {
\t \t if(err) {
\t \t \t callback.call(null, new Error('Request failed'));
\t \t \t return;
\t
\t \t } else {
\t console.log("sucess!");
}
\t var $ = cheerio.load(body);
\t var text = $('#topContainer').text();
console.log($('body').text());
\t });
});
任何可能的帮助?它看起来像我通过登录但是当我发布任何数据时,它仍然发布登录页面。
试过了,它没有工作,仍然卡住嗯..猜测它是什么与viewstate? –
我再次看了一下表格。他们可能会从表单字段中查找特定的ID。 即ttpnlLogin_Login1_Password和/或ttpnlLogin_Login1_UserName。 你可以尝试切换这些用户名/密码,并让我知道你发现了什么? – ChrisBurns