Я хочу сделать вызов API для моего REST API, работающего на другом порту на том же хосте. Метод http.request отлично работает на локальном хосте, но на производстве он не работает и не возвращает ошибок.
Но это прекрасно работает, когда вызов API выполняется внешним хостом на производстве.
- Хостинг: Cpanel сервер (Версия 80)
- ОС: Centos7
- Nodejs: v10.15.3
- Framework: Express
Код:
var header = { hostname: url,
port: 80,
path: path_info,
method: 'GET',
timeout: 5000,
headers:
{
'Content-Type': 'application/json',
'Accept-Encoding': 'gzip,deflate,br',
Authorization: string }
};
var http = require('http');
var zlib = require('zlib');
console.log('REQUEST');
var api_req = http.request(header, function(api_res) {
console.log('RESPONSE');
let data = [];
var content_response = '';
if (api_res.headers['content-encoding'] && api_res.headers['content-encoding'] != '') {
switch (api_res.headers['content-encoding']) {
case 'gzip': content_response = zlib.createGunzip();
api_res.pipe(content_response);
break;
case 'deflate': content_response = zlib.createDeflate();
api_res.pipe(content_response);
break;
default: content_response = zlib.createUnzip();
api_res.pipe(content_response);
break;
}
} else {
content_response = api_res;
}
content_response.on('data', (chunk) => {
data.push(chunk);
}).on('end', () => {
console.log(Buffer.concat(data).toString('utf8'));
}).on('error', (e) => {
console.log(e);
});
});
api_req.end();