使用Node-Wget进行401文件下载尝试

时间:2017-09-11 16:13:26

标签: node.js selenium phantomjs cucumber wget

尝试使用Node-Wget下载文件:

wget ({
      url: 'https://localhost...',
      dest: './test_artifacts/logs/',
      timeout: 2000
      }, function (error, response, body) {
        if (error) {
            console.log('--- error:');
            console.log(error);            // error encountered 
        } else {
            console.log('--- headers:');
            console.log(response.headers); // response headers 
            console.log('--- body:');
            console.log(body);             // content of package 
        }
    }
);

另外,使用PhantomJS,Selenium Webdriver和Cucumber。 当文件公开可用时,上面的代码有效,但当我在我的网站上使用它时,我得到:

Status Code: 401; Unauthorized

该网站使用登录页面来验证用户。我认为这是阻止我下载文件的原因。在测试步骤的这个阶段,Selenium已经登录并浏览了该站点。这让我相信Wget需要传递给它以确定用户已经登录。问题是,node-wget的文档非常小,我在docs中没有看到提供解决方案的命令。 / p>

正在使用的包的链接: https://www.npmjs.com/package/node-wget

1 个答案:

答案 0 :(得分:0)

切换到npm'请求'。工作良好。允许自定义http标头字段,例如:

headers: { 
Authorization: 'Bearer esdfsdf...' 
}
};