1

我正在尝试编写一个代理来访问一个 api,并有一些在我的本地机器上运行没有问题的工作代码。现在我尝试在 glitch.me 和 heroku 上托管此代码,但会导致ECONNREFUSED错误。

这只会发生在给定的域上,不会发生在任何其他域上(例如 www.google.com、www.nytimes.com 等...)。在 localhost 上运行此代码可以正常工作。

我无法理解问题出在哪里,而且我不太幸运地找到了很多关于ECONNREFUSED在线的信息。

这是在我的机器上运行的代码,但在 glitch.me 或 heroku 上不起作用:

const express = require('express');
const request = require('request');
const app = express();


const listener = app.listen(process.env.PORT, function () {
  console.log('Your app is listening on port ' + listener.address().port);
});


app.get("/", function(req, res) {
    request("https://api.justimmo.at/rest/v1/objekt/list", function (error, response, body) {
        res.send(body);
    });
});

这是我从调试器中得到的:

error: { Error: connect ECONNREFUSED 88.99.236.189:443
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '88.99.236.189',
  port: 443 }

预期的结果将是一个 401 Unauthorized 错误。

这个问题可能出在哪里?

4

1 回答 1

0

是的,这个(api.justimmo.at)域是安全的。您需要先对用户进行身份验证。传递用户 ID 和密码。我在收到请求时从凉亭打招呼 401。

于 2019-10-14T16:37:37.137 回答