从公司服务器调用第三部分 api 时读取 ECONNRESET 错误

问题描述

我正在编写一个端点,它将返回不记名令牌。我在具有一些代理的公司服务器上运行此代码。当我从 POSTMAN 运行这个 3rd 方 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")
      }
    })
  })
}

Error- ErrorOnToken:Error: 读取 ECONNRESET (节点:65184)未处理的承诺拒绝警告:假 (node:65184) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于抛出内部 一个没有 catch 块的异步函数,或者通过拒绝一个没有用 .catch() 处理的承诺。 (拒绝id:1)
(节点:65184)[DEP0018] 弃用警告:不推荐使用未处理的承诺拒绝。在未来,承诺拒绝 未处理将使用非零退出代码终止 Node.js 进程。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)