http.Server 的 'connect' 事件从未被调用

http.Server's 'connect' event is never called

我创建了一个简单的 http 服务器,我想从中通过套接字传输一些字节的数据。所以我正在收听服务器的 'connect' 事件。但它从未被调用过?

这是我的代码。

var http = require('http');
var server = http.createServer(function(req, res) {
    res.setHeader('Content-type', 'text/html');
    res.end('<h3>Yeah! you are connected on ' + Date() + '</h3>');
    console.log('User connected');
});
server.on('connect', function(req, socket, head) {
    //var addr = socket.remoteAddress;
    console.log('IP - ');
});
server.listen(8000);

对于connect事件,当服务器运行时,需要向隧道代理发出请求。

将您的 server.listen(8000); 替换为:

server.listen(8000, '127.0.0.1', () => {

    // make a request to a tunneling proxy
    const options = {
        port: 8000,
        hostname: '127.0.0.1',
        method: 'CONNECT',
        path: 'www.google.com:80'
    };

    const req = http.request(options);
    req.end();

});