我正在尝试使用用户名/密码
创建.js代码以从RESTFul服务器获取令牌two
我想使用上面的调用从RESTful Server通过node.js获取令牌。
我收到错误:
one
我不知道如何通过用户名和密码进行身份验证。
谢谢, Mayank
答案 0 :(得分:0)
我感觉您正在混合使用不同的HTTP库,因为我不相信node.js https库具有data
属性。
内部库相当低级,并且不易使用。我认为您正在重用其他HTTP客户端的属性。
内置客户端要求您手动构建主体并通过套接字发送它。我建议您使用更高级别的库。这是为最终用户案例量身定制的。
node-fetch库是一个很棒的库,因为它实现了浏览器中也存在的Fetch API。如果我使用该库重写您的示例,它看起来更像是这样:
const fetch = require('node-fetch');
async function getPrice() {
const body = {
username: "admin",
password: "adminpw",
tenant: "master"
};
const uri = 'https://10.41.74.70//tron/api/v1/tokens';
const response = fetch(uri, {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type':'application/x-www-form-urlencoded'
},
body: JSON.stringify(body)
});
if (response.status > 400) {
throw new Error('HTTP error: ' + response.status);
}
const price = await response.json();
console.log(price);
}
getPrice();
我无法保证上述内容是正确的,因为: