错误
Error: { [Error: connect ETIMEDOUT] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect' }
hostName: 'api.v3.factual.com'
url : http://api.v3.factual.com/t/places?geo=%22$point%22:12.9361149,77.6159516]}&q=Cool%20Roll%20Burger&KEY=ApiKey
代码
function internalHttpApiCall(hostName,url,callback)
{
var options = {
hostname : hostName,
port: 4456,
path: url,
method: 'GET',
}
/ *类似的https调用可以正常工作。我已将以下链接作为解决该问题的参考。如何将HTTP代理与node.js http.Client一起使用? 如何将HTTP代理与node.js http.Client一起使用?* /
var response="";
var req = http.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
console.log(options.path);
res.on('data', function(d) {
response += d;
});
res.on('end', function() {
if (response && JSON.parse(response))
{
var obj = JSON.parse(response)
console.log(obj);
output();
}
});
});
req.end();
req.on('error', function(e) {
console.error(e);
});
function output(xresponse)
{
callback(xresponse);
}
}
只需port
从options
对象中删除属性即可。当您将a传递port
给该options
对象时,就是说您要向该特定端口发出请求,例如http://api.v3.factual.com:4456
。由于它们仅公开其URL,因此我们不知道他们在幕后使用哪个端口。因此,这是没有必要的。
并且还删除了,
该method: 'GET'
选项后遗漏的内容。
var options = {
hostname: hostName,
path: url,
method: 'GET'
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句