使用nodejs中的–user选项curl
我可以在nodejs中抓取一个网页,但是我需要首先对自己进行身份validation。 在curl中,你可以用curl --user user:password [url]
来做到这一点curl --user user:password [url]
。
我怎样才能达到在节点相同的结果?
你只需要添加一个授权头到你的HTTP请求。 Authorization
标头应该包含用户名和密码结合一个冒号,然后应该是Base64编码,然后预先与Basic
和一个空格。
var header = 'Basic ' + new Buffer(user + ':' + pass).toString('base64');
这是一个涉及GET请求的完整示例。
var http = require('http'); var user = 'username'; var pass = 'password'; var auth = new Buffer(user + ':' + pass).toString('base64'); var options = { host: 'example.com', port: 80, path: '/path', headers: { 'Authorization': 'Basic ' + auth } }; http.get(options, function(res) { // response is here });