node.js中的Http.request

时间:2017-07-06 12:41:14

标签: javascript node.js node.js-connect node.js-client

这是我在节点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);
});

编译时,编译器会显示以下错误:

enter image description here

编辑:用快递作品,但是如果我想让它在没有表达的情况下工作怎么办?

2 个答案:

答案 0 :(得分:1)

测试一下:

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.您的问题出在服务器端,而不是客户端。具体来说,您尝试连接的服务器没有侦听localhost上的端口8124 - 至少不在此主机上。

答案 1 :(得分:0)

要解决此问题,只需添加到以前的代码即服务器代码即可。

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)