我现在正在编写我的Node.js文件,即向Yelp API发送请求并获取客户端的JSON响应。我在localhost中测试我的代码。
我已经看到了请求网址,格式和数据都是正确的。
但是,在请求此API时收到错误消息:
连接ECONNREFUSED 127.0.0.1:443
这是我的Node.js代码:
http.createServer(function (req, res) {
// data from the client
var some_data;
// send a GET request to Yelp’s API
var https = require('https');
var yelpMatch_url = encodeURI("https://api.yelp.com/v3/businesses/matches/best?some_data;
var headers = {
'Authorization': 'Bearer myAPI_KEY'
};
https.get({url: yelpMatch_url, headers: headers}, function(response) {
var body = '';
response.on('data', function (chunk) {
body += chunk;
});
response.on('end', function () {
// write response json
res.write(body);
res.end();
});
}).on('error', function(e) {
console.log(e.message);
});
}).listen(myPort);
为什么会出现此错误?
答案 0 :(得分:0)
您看起来正在对您的localhost执行https请求。
确保您的服务器在本地运行,并按如下方式更新get方法:
https.get(yelpMatch_url, {headers: headers}, function(req, response) {
var body = '';
response.on('data', function (chunk) {
body += chunk;
});
response.on('end', function () {
// write response json
res.write(body);
res.end();
});
}).on('error', function(e) {
console.log(e.message);
});
答案 1 :(得分:0)
谢谢!我想到了。格式应该是这样的:
var https = require('https');
var myurl = "http://www.example.com";
var options = {
url: myurl,
headers: {
'Authorization': 'Bearer myKeyID'
}
};
https.get(options, function(response) {
... }