在get请求中提供授权时,在nodeJS中废弃需要授权的网站?

时间:2018-11-24 10:32:18

标签: node.js api http web-scraping

我正在用nodejs抓取一个webSite以便从中获取信息(使用http解析)。 该网站需要基本的身份验证用户名和密码才能登录。 我必须编写一个API来对该网站进行网页抓取。我将在邮递员中提供基本的Auth-用户名和密码,并将仅从邮递员中触发我的API。

我不想在我的代码中硬编码用户名和密码。我将仅从邮递员请求中获取凭据。

那么在编写API时如何解决呢? 我将如何使用邮递员中提供的用户名和密码?

1 个答案:

答案 0 :(得分:0)

使用NodeJS,您可以将用户ID和密码作为标题传递:

var request = require('request'),
    username = "john",
    password = "1234",
    url = "http://www.example.com",
    auth = "Basic " + new Buffer(username + ":" + password).toString("base64");

request(
{
    url : url,
    headers : {
        "Authorization" : auth
    }
},
    function (error, response, body) {
        // Do scraping here
    }
);

如果处理很复杂或有交互式登录屏幕,我会看puppeteer,它是这类东西的一个很好的框架。