javascript - 如何在 Node.js 中捕获原始请求

标签 javascript node.js sockets express

我能够使用下面的源代码在 Node.js 中捕获原始请求。

var http = require('http');
var express = require('express');

var remote = express();
remote.use(function(req, res, next) {
  req.socket.once('data', function(data) {
    console.log(data.toString());
  });
  next();
});

remote.use(function(req, res, next) {
  res.end('end');
});

http.createServer(remote).listen(8080);

但此源可以在(包括)第二个请求之后捕获原始请求,因为第一个请求在绑定(bind)事件处理程序之前已被使用。如果客户端不使用 keep alive,我将无法捕获任何请求。

如何捕获原始请求,包括第一个请求?

最佳答案

我找到了使用 'connection' event on http.Server 的方法.

var http = require('http');
var express = require('express');

var remote = express();
remote.use(function(req, res, next) {
  res.end('end');
});

var server = http.createServer(remote);
server.on('connection', function(socket) {
  socket.on('data', function(chunk) {
    console.log(chunk.toString());
  });
});
server.listen(8080);

关于javascript - 如何在 Node.js 中捕获原始请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32340403/

相关文章:

javascript - waitFor() 找不到页面上显示的元素

android - 如何在Android中添加HttpClient请求和连接超时

c# - TCP 重置后随机 "An existing connection was forcibly closed by the remote host."

javascript - 如何使用socket.io从客户端创建多个websocket连接?

javascript - 将客户端和服务器 package.json 文件合并为一个

node.js - nginx tcp SYN 数据包未收到 ACK

javascript - 如何通过复制/粘贴到文本区域来生成 HTML 标签

php - 在 JavaScript 中导出变量

javascript - Jquery 没有加载?

javascript - 如何让图像在定时器上淡出