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