在nodejs中使用--user选项卷曲

Posted

技术标签:

【中文标题】在nodejs中使用--user选项卷曲【英文标题】:curl with --user option in nodejs 【发布时间】:2013-10-17 15:03:07 【问题描述】:

我可以在nodejs中抓取一个网页,但我需要先验证自己。在 curl 中,您可以使用 curl --user user:password [url] 执行此操作。

如何在节点中实现相同的结果?

【问题讨论】:

【参考方案1】:

您只需要在您的 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
);

【讨论】:

以上是关于在nodejs中使用--user选项卷曲的主要内容,如果未能解决你的问题,请参考以下文章

使用特定选项或环境变量在 AWS lambda 中启动 NodeJS 运行时

从下拉列表中选择选项并使用 nodejs 提交请求

使用特定选项或环境变量在AWS lambda中启动NodeJS运行时

NodeJS:打开新选项卡而不是默认用户浏览器

卷曲发送表单到 https

使用带有错误传递选项 useUnifiedTopology: true 的 nodejs 到 MongoClient 构造函数