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 на локальном хосте - по крайней мере, на этом хосте.

Другие вопросы по тегам