Node.JS Express - 原始 HTTP 请求

Posted

技术标签:

【中文标题】Node.JS Express - 原始 HTTP 请求【英文标题】:Node.JS Express - Original HTTP Request 【发布时间】:2021-12-23 12:14:57 【问题描述】:

在 Express 中有没有一种方法可以在解析之前获取原始 HTTP 请求?

像这样:

GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

【问题讨论】:

你可以得到req.rawHeaders 这是标题,但不是第一行。第一行的片段在req.methodreq.httpVersionreq.originalUrl 【参考方案1】:

有关我用来实现存储转发代理的基本实现,请参见下面的链接。这使用了原始 Node.js http 模块,但 express.js 扩展了 req/res 对象,因此它应该完全兼容:https://github.com/rkaw92/edi-broker-poc/blob/df7d643ed07e8004eb7a93fcde580549872fe757/src/httpUtils.ts#L50

【讨论】:

以上是关于Node.JS Express - 原始 HTTP 请求的主要内容,如果未能解决你的问题,请参考以下文章

Nest.js 用了 Express 但也没完全用

Node.js Express 框架

Node.js Express 框架

带有 HTTP-AUTH 的 node.js Express

Node.js / Express 视频流(HTTP 206 部分内容)

Node.js:Express 框架