在节点js中使用-u参数在CURL请求中发出GET请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在节点js中使用-u参数在CURL请求中发出GET请求相关的知识,希望对你有一定的参考价值。

我试图从节点js和表达js向外部api发出GET请求。

我正在使用请求模块发出GET请求 -

在请求的选项中 -

const options = {
    url: 'https://externalP_api_url/api/1/balance',
    method: 'GET',
    headers: {
        'Content-Type': 'application/json'
    }
};

我需要根据api文档中的示例设置-u参数。他们使用curl来提出请求

curl -u keyid:keysecret https://externalP_api_url/api/1/balance

问题是我无法在我的请求的选项中设置-u keyid:keysecret我已经尝试将其作为查询字符串并在标题中,但我得到401并且根据api的文档意味着keyid:keysecret参数是失踪。

我已经尝试了卷曲并且它有效,所以我不是从api的结尾,它不是因为我不是从https doamain发送,因为我会得到403响应。

答案

看看https://curl.trillworks.com/#node

将curl转换为node.js时,它通常可以很好地指向正确的方向。根据您的curl命令,它建议使用以下代码:

var request = require('request');

var options = {
    url: 'https://externalP_api_url/api/1/balance',
    auth: {
        'user': 'keyid',
        'pass': 'keysecret'
    }
};

function callback(error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body);
    }
}

request(options, callback);

以上是关于在节点js中使用-u参数在CURL请求中发出GET请求的主要内容,如果未能解决你的问题,请参考以下文章

如何使用curl在php中调试get请求

关于在php中使用curl发送get请求时参数传递问题的解析

如何在 curl 中使用 HTTP/2 的推送功能?

PHP/Curl:在下载正文之前检查响应标头

在GET请求中传数组

在angularjs中发出OAuth2请求