node.js requestjs失败vs curl

问题描述 投票:3回答:1

我们正在尝试使用requestjs调用基于JSON的API,但我们从服务器收到错误。

request.get({
            url: 'https://api.myapi.com',
            timeout: 120000,
            headers: {
                username: 'myuser',
                password: 'mypassword'
            }
        }, function (err, result) {
           ...
        }
)

错误:

java.lang.IndexOutOfBoundsException: Index: 0
    java.util.Collections$EmptyList.get(Collections.java:4454)
    com.itemmaster.api.rest.svc.authentication.OpenSSOUserAuthServiceImpl.authenticate(OpenSSOUserAuthServiceImpl.java:159)
    com.itemmaster.api.rest.profiler.SecurityProfiler.profile(SecurityProfiler.java:58)

使用curl运行相同的调用时返回没有任何问题。

curl --header "username:myuser" --header "password:mypassword" 'https://api.myapi.com'
javascript node.js curl requestjs
1个回答
0
投票

如果curl命令使用您提供的语法,则以下代码应该在node.js中有效。

var request = require('request');

var headers = {
    'username': 'myuser',
    'password': 'mypassword'
};

var options = {
    url: 'https://api.myapi.com',
    headers: headers
};

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

request(options, callback);
© www.soinside.com 2019 - 2024. All rights reserved.