gpt4 book ai didi

node.js - 当 URL 在浏览器中工作时,什么可能导致 "connect ETIMEDOUT"错误?

转载 作者:可可西里 更新时间:2023-11-01 15:10:26 29 4
gpt4 key购买 nike

我用 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,我不知道如何解决它。

什么会导致这个错误?是我的代码还是网络/代理问题?

最佳答案

在代理后面时,您需要进行以下修改(如 this answer 中所述):

  • 将代理主机放在host参数中
  • 将代理端口放在port参数中
  • 将完整的目标 URL 放在 path 参数中:

给出:

var options = {
host: '<PROXY_HOST>',
port: '<PROXY_PORT>',
path: 'http://www.boardgamegeek.com/xmlapi/boardgame/1?stats=1',
method: 'GET',
headers: {
Host: 'www.boardgamegeek.com'
}
}

关于node.js - 当 URL 在浏览器中工作时,什么可能导致 "connect ETIMEDOUT"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33350604/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com