0

我正在编写一个将返回承载令牌的端点。我在具有一些代理的公司服务器上运行此代码。当我从 POSTMAN 运行这个第 3 方 api 时,它会成功返回,因为我在 postman 中使用系统代理。但是当我从节点服务器运行相同的 api 时,它总是会抛出这个错误。

我无法理解为什么我的节点服务器无法使用系统代理。有没有办法设置代理。我尝试使用 npm config set proxy 和 npm config set https-proxy 但没有成功。

在引发错误的代码下方:

async function getToken() {
  const options ={
    method: 'POST',
    url: 'https://login.example.com/oauth/token',
    headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'cache-control': 'no-cache'
    },
    form: {
    'grant_type': 'client_credentials',
    'client_id': '*****************',
    'client_secret': '******************'
    }
  }
  return new Promise((resolve, reject) => {
    request(options, async function (error, response) {
      if (error) {
        console.log("ErrorOnToken:" + error);
        reject(false);
      } else {
        var body = JSON.parse(response.body);
        console.log("Token:" + body.access_token);
        resolve("success")
      }
    })
  })
}

错误 - ErrorOnToken:Error: 读取 ECONNRESET (node:65184) UnhandledPromiseRejectionWarning: false (node:65184) UnhandledPromiseRejectionWarning: 未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝 ID:1)
(节点:65184)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。

4

0 回答 0