【问题标题】:screen scape node.js with authentication带有身份验证的屏幕景观 node.js
【发布时间】:2015-10-31 21:19:16
【问题描述】:

我试图在 node.js 中使用身份验证来筛选站点,但是当我尝试提交表单时,我得到了这个:

“您的“他人”浏览器不支持我们的网站。”

用户名已设置,但密码似乎为空。

我正在使用请求节点模块。

我的代码:

router.get('/scrape', function(req, respond){

    var credentials = {
        username: 'kevin',
        password: 'secret'
    };

    request.post({
        uri: my site url here,
        headers: { 'content-type': 'application/x-www-form-urlencoded' },
        body: require('querystring').stringify(credentials)
    }, function(err, res, body){
        if(err) {
            respond.end(err);
        }

        respond.send(body);

    });


});

【问题讨论】:

    标签: javascript node.js authentication screen-scraping


    【解决方案1】:

    您可能需要指定 User-Agent 标头,例如:

    var credentials = {
        username: 'kevin',
        password: 'secret'
    };
    
    request.post({
        uri: my site url here,
        headers: { 
           'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36'
        },
        form:credentials
    }, function(err, res, body){
        if(err) {
            respond.end(err);
        }
    
        respond.send(body);
    });
    

    【讨论】:

    • 非常感谢,成功了。密码字段仍然是空的,但另一个问题:-)
    • 不客气,最近我正在抓取一个页面,我收到了错误页面,所以我查看了发送我的浏览器的标题,所以我阅读了有关 User-agent (en.wikipedia.org/wiki/User_agent)跨度>
    猜你喜欢
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-11
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    • 2020-11-11
    相关资源
    最近更新 更多