NodeJS 使用摘要验证 curl

i1icjdpr  于 2022-11-29  发布在  Node.js
关注(0)|答案(2)|浏览(134)

我有一个端点,我已经用comand ubuntu测试过了,这个端点需要用户名和密码,我运行这个:

curl --digest -u username:pass --location --request POST 'http://url' \
--header 'Content-Type: application/json'

所以我只想在节点js usign node-libcurl中运行,所以我没有找到添加摘要授权的正确方法(username:pass),这段代码:

const { curly } = require('node-libcurl')

exports.test = async () => {

var user = 'user';
var pass = '45213';

var auth = new Buffer.alloc(user + ':' + pass).toString('base64');

const { data } = await curly.post('http://url', {
    postFields: JSON.stringify({ field: 'value' }),
    httpHeader: [
      'Content-Type: application/json',
      'Accept: application/json',
      `Authorization: Basic  + ${auth}`
    ],
})
      
      console.log(data);
};

使用node-libcurl库,是否有方法添加身份验证确认??...使用用户名和密码
我收到此错误:
TypeError [ERR_INVALID_ARG_TYPE]: The "size" argument must be of type number.

oxcyiej7

oxcyiej71#

使用此代码

const auth = new Buffer.alloc((user + ':' + pass).length).toString('base64');
ig9co6j1

ig9co6j12#

构造的标头在我看来不正确:
Authorization: Basic + ${auth}
应该改为:
Authorization: Basic ${auth}
也许是重新制造时的错误...?

相关问题