从express.js中删除所有标题

我正在创build一个页面,我有一些数据被其他设备parsing。 我曾经这样做与PHP,但我把它移动到节点。 我需要从页面中删除任何和所有标题,所以我只有我的输出。 这个输出是对GET请求的响应。

目前我有

HTTP/1.1 200 OK Date: Wed, 11 Sep 2013 11:54:14 GMT Connection: close My output 

我需要它来显示

 My output 

通常,您可以使用Express(node.js)中的Response对象的API来删除标头,但是其中的一些标准是HTTP规范所要求的,并且应始终存在。

date标题是这样一个必需的。 看到这里: https : //stackoverflow.com/a/14490432/1801

第一行( HTTP/1.1 200 OK )不是头文件 – 它是HTTP协议的一部分,每个响应都应该以它开始。 否则,浏览器将不知道如何处理响应。

如果你想删除其他自定义标题,你可以这样做:

 app.get('/test', function (req, res) { var body = "some body"; res.removeHeader('Transfer-Encoding'); res.removeHeader('X-Powered-By'); res.end(body); }); 

Express不会这样做,因为Express是用于HTTP的。 你所要求的不是HTTP,因为它没有遵循一些RFC。 做你想做的事情,你将不得不绕过快车。 在端口上侦听,parsing来自embedded式设备的GEt请求,并发送所需的数据。