我用NodeJS训练了myslef,并尝试了一个简单的GET调用。
var http = require('http');
var options = {
host: 'www.boardgamegeek.com',
path: '/xmlapi/boardgame/1?stats=1',
method: 'GET'
}
var request = http.request(options, function (response) {
var str = ""
response.on('data', function (data) {
str += data;
});
response.on('end', function () {
console.log(str);
});
});
request.on('error', function (e) {
console.log('Problem with request: ' + e.message);
});
request.end();
所调用的URL似乎在我的浏览器https://www.boardgamegeek.com/xmlapi/boardgame/1?stats=1中正常工作
不管怎样,我的请求有问题运行代码时连接ETIMEDOUT*,但我不知道如何修复。
什么可能导致这个错误?是我的代码还是网络/代理问题?
8条答案
按热度按时间jjhzyzn01#
在使用代理时,您需要进行以下修改(如本答案中所述):
host
参数中port
参数中path
参数中:其中:
cld4siwp2#
在我的情况下,这是因为
http
,而不是https
的要求efzxgjgh3#
如果使用POSTMAN时发生此错误。
因此,当您在Postman中调用请求时,API要求您的VPN在您可以成功调用之前启动。您将需要连接或重新连接您的VPN。
在我的例子中,我在一家公司的笔记本电脑上工作,我发现是VPN坏了。
myzjeezk4#
以下更改对我很有效:
lp0sw83n5#
在我的情况下,这是一个错误配置的子网。只有一个子网的2个在ELB工作。但我的客户端一直试图连接到错误配置的一个。
lndjwyie6#
如果您URL类似于:
上面的URL会导致一些问题,因为HTTP不存在于URL的开头,所以只需将其更改为它应该工作。
6tdlim6h7#
在我的例子中,我得到这个错误是因为我的post API的请求主体非常大。
9o685dep8#
我在Ubuntu Server上维护PM2上的节点示例时遇到了这个问题。基本上,在拉取后重新启动示例后,我在代码内部的mySQL初始连接上遇到了同样的错误。
虽然同样的代码在我的本地机器上运行得很好。之后我使用了“df”命令,这帮助我意识到我的根目录被100%占用。我分配了一些内存到根目录,并重新启动节点示例,然后它开始正常工作。