RESTful POST从RESTful服务器通过node.js获取令牌

时间:2018-01-30 00:59:06

标签: rest

我正在尝试使用用户名/密码

创建.js代码以从RESTFul服务器获取令牌
two

我想使用上面的调用从RESTful Server通过node.js获取令牌。

我收到错误:

one

我不知道如何通过用户名和密码进行身份验证。

谢谢, Mayank

1 个答案:

答案 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();

我无法保证上述内容是正确的,因为:

  • 我没有测试它
  • 我不能100%确定代码的意图是什么,我只能猜测
  • 我不知道您的API如何运作