我正在编写一个将返回承载令牌的端点。我在具有一些代理的公司服务器上运行此代码。当我从 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 进程。