gpt4 book ai didi

node.js - 有没有一种方法可以使用 Node/Express 2.x 检查已发送的 header ?

转载 作者:搜寻专家 更新时间:2023-11-01 00:15:35 25 4
gpt4 key购买 nike

有没有一种方法可以检查使用 node/express 2.x 发送了哪些特定的 header ?

我的文件下载在大多数情况下都能完美运行,但在一些特定情况下,我在 Chrome 中遇到错误( Node 中没有错误):

Duplicate headers received from server
The response from the server contained duplicate headers. This problem is generally the result of a misconfigured website or proxy. Only the website or proxy administrator can fix this issue.
Error 349 (net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): Multiple distinct Content-Disposition headers received. This is disallowed to protect against HTTP response splitting attacks.

出于测试目的,我想查看是否已发送特定 header ,是否有使用 node.js 执行此操作的方法?


...因为有人会问我用于设置 header 的代码,所以我将流作为下载并仅在一个位置设置 header 。

res.setHeader('Content-disposition', 'attachment; filename=' + filename)
res.setHeader('Content-Length', stats.size)
res.setHeader('Content-type', 'application/pdf')

stream.pipe(res)

最佳答案

HTTP 响应是一个WritableStream。当流关闭时,一个 finish事件被发出。因此,听它就可以了:

res.on('finish', function() {
console.log(res._headers);
});

更加灵活。可以放在中间件或资源处理程序中。

关于node.js - 有没有一种方法可以使用 Node/Express 2.x 检查已发送的 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15530491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com