如何在Node.js中修改请求标头

沙恩

我已经阅读了这篇文章,并意识到我想要做的事很糟糕,但是我有一个客户端在发布数据时未添加Content-Length或Transfer-Encoding。我可以用curl模拟请求:

curl -H "Accept:" -H "Content-Type:" -H "Expect:" -H "Content-Length:" -d 'hello=world' http://localhost:1337/post

并添加Transfer-Encoding标头

curl -H "Accept:" -H "Content-Type:" -H "Expect:" -H "Content-Length:" -H "Transfer-Encoding: chunked" -d 'hello=world' http://localhost:1337/post

产生预期的POST数据。

我正在使用带有以下代码的节点运行服务器:

var http = require('http');
var server = http.createServer(function (req, res) {

  req.on('data', function (chunk) {
    console.log('chunk', chunk.toString());
  });

  req.on('end', function () {
    res.end();
  });
}).listen(1337, '127.0.0.1');

是否有可以拦截请求并添加标头以便可以访问数据的地方,或者可以使用其他方法/事件获取POST数据?

谢谢,Shane Holder

盖茨VP

对于您要做什么,我还不是100%清楚,但是我认为我可以在这里为您指出一些有用的方向:

是否有可以拦截请求并添加标头以便可以访问数据的地方,或者可以使用其他方法/事件获取POST数据?

所以首先要知道的是,HTTP模块都可以作为源代码使用。而且它似乎主要是用Javascript编写的因此,如果您不介意进行复制粘贴,则可能会对此稍作修改。

另一个有用的窍门是HTTP模块只是用于处理HTTP的套接字的充实实现。如果确实需要,可以降低套接字级别并处理所有传入的字节。这应该使您可以执行所需的所有操作。同样,您可能需要查看一些原始代码。

或者,您可以不考虑危险而只修改标题,并在代码中添加一个大的红色标记注释,以警告可能出现的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何修改HttpUrlConnection的标头

如何在golang中从http请求中读取标头?

如何在Java REST保证的HTTP请求中打印请求正文和标头?

如何在Go或node.js中接受没有http版本和主机标头的http请求?

如何在PHP中读取任何请求标头

如何在Nancyfx中添加请求标头?

如何在Jquery Ajax中向请求添加标头?

如何在soapUI中获取请求的HTTP标头信息?

如何在node.js中更改jsonwebtoken的标头

如何在beast :: websocket中读取错误请求的标头?

如何使用Puppeteer和Chrome DevTools协议修改请求标头?(可能是JS语法问题)

如何在jQuery中设置请求标头

如何使用Node.js中的请求从缓存控制标头获取最大年龄值?

如何在Lambda / Node JS中为API Gateway AWS添加CORS标头

如何在React JS中居中对齐MUIDataTable的标头

如何在DRF的APIClient()delete()请求中设置标头?

如何根据Chrome扩展程序中的用户选项修改HTTP请求标头?

在Node.js中获取请求标头以获取PHP会话ID

如何在Rest WebService中获取请求标头值

所有请求的Node.js静态标头

如何在compojure请求中获取特定的HTTP标头

在Node.js中设置请求标头

如何在该curl请求中解释此标头?

如何在Firefox插件中删除(而不是修改)请求标头?

如何在Node.js中获取标头请求

如何在 AfNetworking 3.0 中向请求添加标头?

如何在 Jmeter 中传递请求标头

Express JS:如何通过标头请求管理路由?

如何将请求标头传播到 SpringBoot 2 中的响应标头