改变一个小号的stream,如何得到http.Response中的内容长度标题?

我有一个nodejs http服务器运行,我想改变特定网站上的内容(我自己的私人广告拦截器的种类)。 我决定用小号做这个。 现在的问题是,当小号注入新的内容并将其传递给http响应(http.IncomingMessage)时,标头['content-length']值不再有效。

一些浏览器似乎不关心(W7上的Chrome / Firefox),其他浏览器立即崩溃(iPad上的Safari)。 我尝试删除内容长度标题,结果类似(Safari永远等待)。

如何在切换内容后设置响应权限的内容长度? 我发现和谐 ,但我只需要这最后一点,所以和谐觉得像太多的开销。 或者这不是微不足道的?

如果你不知道在你发送头文件(这里是这种情况)时你的响应会有多大,你需要使用分块传输编码 。

如果您没有指定任何Content-Length节点应该默认为分块传输编码。 删除设置Content-Length头的代码或者尝试res.removeHeader('Content-Length')