我正在用nodejs抓取一个webSite以便从中获取信息(使用http解析)。 该网站需要基本的身份验证用户名和密码才能登录。 我必须编写一个API来对该网站进行网页抓取。我将在邮递员中提供基本的Auth-用户名和密码,并将仅从邮递员中触发我的API。
我不想在我的代码中硬编码用户名和密码。我将仅从邮递员请求中获取凭据。
那么在编写API时如何解决呢? 我将如何使用邮递员中提供的用户名和密码?
答案 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,它是这类东西的一个很好的框架。