我正在创建一个页面,其中有一些数据被另一台设备解析。我以前用 php 做这个,但我把它移到 node.js 上。我需要从页面中删除所有标题,所以我只有我的输出。此输出是对 GET 请求的响应。
目前我有
HTTP/1.1 200 OK
Date: Wed, 11 Sep 2013 11:54:14 GMT
Connection: close
My output
我需要它来显示
My output
我正在创建一个页面,其中有一些数据被另一台设备解析。我以前用 php 做这个,但我把它移到 node.js 上。我需要从页面中删除所有标题,所以我只有我的输出。此输出是对 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);
});
app.use(function (req, res, next) {
res.removeHeader("x-powered-by");
res.removeHeader("set-cookie");
res.removeHeader("Date");
res.removeHeader("Connection");
next();
});
有关更多详细信息,请查看此文档以获得解释所有与 http 标头相关的查询的最佳方式:: Express (node.js) http 标头文档
Express 不会这样做,因为 Express 用于 HTTP。您要求的不是 HTTP,因为它不遵循某些 RFC。要做你想做的事,你必须绕过快递。监听端口,解析来自嵌入式设备的 GEt 请求,发送你想要的数据。
如果可以更改其他设备上的代码,则更标准的解决方案是设备忽略 HTTP 标头并仅解析正文。