Http.request в node.js
Это мой код в узле JS:
var http = require('http');
var options = {
host : '127.0.0.1',
port: 8124,
path: '/',
method: 'GET'
};
http.request(options, function(res){
console.log("Hello!");
}).end();
process.on('uncaughtException', function(err){
console.log(err);
});
Когда я его компилирую, компилятор показывает мне следующую ошибку:
введите описание изображения здесь
редактировать: с экспресс-работами, но если бы я хотел, чтобы это работало без экспресса, как я мог это сделать?
2 ответа
Решение
Чтобы решить эту проблему, достаточно было добавить к предыдущему коду код сервера.
var http = require('http');
var options = {
host : '127.0.0.1',
port: 8124,
path: '/',
method: 'GET'
};
http.request(options, function(res){
console.log("Hello!");
}).end();
process.on('uncaughtException', function(err){
console.log(err);
});
http.createServer((req, res)=>{
res.writeHead(200, {'Content-type': 'text/plain'})
res.end()
}).listen(8124)
Проверьте это:
const app = require('express')();
app.get('/', (req, res) => {
res.json({ ok: true });
});
app.listen(8124);
var http = require('http');
var options = {
host : '127.0.0.1',
port: 8124,
path: '/',
method: 'GET'
};
http.request(options, function(res){
console.log("Hello!");
}).end();
process.on('uncaughtException', function(err){
console.log(err);
});
как видите, он печатает Hello!
- когда что-то прослушивает порт 8124. Ваша проблема на стороне сервера, а не на стороне клиента. В частности, сервер, к которому вы пытаетесь подключиться, не прослушивает порт 8124 на локальном хосте - по крайней мере, на этом хосте.