2017-10-09 41 views
0

我在節點上使用mwbot進行後續請求時出現此錯誤。如何使用mwbot請求Mediawiki使後續請求

response: 
    { login: 
     { result: 'Aborted', 
     reason: 'Cannot log in when using MediaWiki\\Session\\BotPasswordSessionProvider sessions' } } } 

我正在通過提供標題來閱讀mediawiki中的頁面。我認爲每個請求都需要登錄才能閱讀,但似乎我錯了,因爲這個錯誤似乎在抱怨我已經登錄了。但我不知道會話如何被讀取或如何找出我已經登錄或沒有。

路線:

router.get('/wikipage/:title', function(req, res, next) { 
    let title = req.params.title; 

    const MWBot = require('mwbot'); 
    const wikiHost = "https://wiki.domain.com"; 
    let bot = new MWBot(); 
    let pageContent = "wiki page not created yet, please create"; 

    bot.login({ 
    apiUrl: wikiHost + "/api.php", 
    username: "[email protected]", 
    password: "xxxxx" 
    }).then((response) => { 
    console.log("logged in"); 
    return bot.read(title); 
    }).then((response) => { 
    for(let prop in response.query.pages) { 
     pageContent = response.query.pages[prop]['revisions'][0]['*']; 
     console.log("pageContent:", pageContent);  
     break; 
    } 

    res.json({ 
     data: pageContent 
    }); 

    }).catch((err) => { 
     // Could not login 
     console.log("error", err); 
    }); 

}); 

module.exports = router; 

回答

0

我相信你在瀏覽器中運行這一點,在這種情況下,瀏覽器需要的會話cookie小心處理。您可以通過document.cookie以常用方式查看。