Express:如何获取http请求的原始缓冲区

时间:2020-04-02 22:20:14

标签: node.js express http request

我的应用程序正在运行Express http服务器。我需要将整个http请求消息(标头,正文等)保存为原始格式,就像客户端发送到服务器时一样。我找不到它的存储位置。有人吗?

1 个答案:

答案 0 :(得分:0)

整个东西不会存储在任何地方。 Express使用node.js中的http模块,该模块将传入的请求和标头解析为数据结构。请求的主体(如POST或PUT)留给您从传入的读取流中读取,因此您当然可以自己读取确切的主体。只需为传入的请求流上的data事件连接一个侦听器,即可将主体的确切字节直接读入Buffer对象。

如果需要从数据结构中重新构造http命令行和所有标头,但我认为原始数据存储的方式与到达时不完全相同。

某些信息在here中记录的这些属性中:

request.rawHeaders
request.method
request.httpVersion
request.headers
request.url

如果您可以确切说明您要解决的实际问题,那么我们将有一个更好的主意,确切地说是还有什么可以帮助您的。