问题标签 [body-parser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
301 浏览

javascript - 使用 JSON 与 urlencoded 的 XHR 请求:性能和安全性

我有 xhr 请求,其中包含 name=John username=JohnTheGreat 之类的数据。在这种情况下,我可以发送一个内容类型为:application/x-www-form-urlencoded 的 xhr:

或者我可以使用内容类型:应用程序/json:

在服务器端(我使用带 express 的 nodejs 服务器),对于这两种情况,我都使用 body-parser 来解析数据。
1)这两者中的哪一个会被解析得更快?我猜它会是 Json,因为它显然只涉及字符串连接和 eval,而 urlencoded 字符串似乎意味着很多字符串操作。
2)对于这些情况,两者中哪一个更安全?一般来说,它们在现代浏览器中的安全问题是什么(如果有的话)?(例如,一个用户可以写一些脚本作为他的名字,当被解析时将被执行?)

0 投票
1 回答
83 浏览

node.js - 为什么 Express 不捆绑正文解析器?

我了解它是如何body-parser工作的,但我不知道为什么这个功能不会与 Express 一起使用。看起来有点傻,它提供的功能非常基本。为什么不能在没有 的情况下从POST请求中获取数据body-parser

0 投票
0 回答
639 浏览

javascript - Express body-parser gziped json没有变成对象

我正在尝试将 gzipped json 发送到 nodeJS/Express 服务器,但我无法让它工作,在生产中我正在使用一些代码来 gzip 一个 json 对象并将其发送,但出于测试目的,我让它与 curl 一起运行

我的 Express 应用程序只是一个使用 body-parser 模块的普通 express 4 应用程序:

并且正在使用集群模块:

有一条路线:

如果我用 curl 发帖

我得到了预期:

如果我从文件中读取:

我得到回应:

该文件的内容是:

如果我尝试使用压缩数据进行卷曲:

我得到与以前相同的 400,400 是我的代码在发送压缩数据时收到的内容..

到目前为止,我能够完成我想要的唯一方法是使用 body-parser text/raw,它{"data":[{"foo":"bar"}]}作为 req.body 和一种字符串类型返回var body = eval( "(" + req.body + ")" ),然后将其转换为 json 对象,但这很危险因为任何人都可以在请求中发送一些 js 并劫持服务器..

0 投票
1 回答
1639 浏览

node.js - 文件上传挂在生产代码上,但在本地工作 - multer,node.js

我正在开发一个用 express 3 编写的应用程序,现在我们升级到 express 4,我在文件上传时遇到了问题。一切都可以在我的本地计算机 mac OSX 上运行,但不能在 ubuntu 上的生产服务器上运行。

我正在上传 zip 文件,里面有 png 和 psd。

我正在通过多部分形式上传文件:使用 multer 中间件。

本地一切都很好,但在生产环境中,连接正在中断。文件开始上传到主上传根目录,但作为块的一部分,例如我上传了 50 mb 的 zip 文件,但上传了大约 30 kb 并且连接中断,因为将数据作为块上传的 onFileDataupload 事件中断了。

app.js 中的设置

我的身体解析器设置:

我的 multer 设置:

}));

我也尝试过强大的替代方案,我有同样的问题,在本地工作,不在生产环境中工作。而且我认为这可能是按节点管理的请求的问题。在生产环境中,我们使用 pm2。文件上传时,Smoething 正在断开连接。

有没有人遇到过类似的问题并找到解决方案?谢谢

0 投票
3 回答
3771 浏览

javascript - 将 http-proxy 和 body-parser 与 express 一起使用时,节点挂起 POST 请求

我也已将此发布到相关问题上http-proxy

我正在使用http-proxywithexpress所以我可以拦截客户端和 api 之间的请求,以便添加一些 cookie 进行身份验证。

为了进行身份验证,客户端必须发送一个 POST 请求,x-www-form-urlencoded其内容类型为。所以我使用body-parser中间件来解析请求体,这样我就可以在请求中插入数据。

http-proxy据说使用有问​​题,body-parser因为它将主体解析为流并且从不关闭它,因此代理永远不会完成请求。

http-proxy 示例中有一个解决方案,可以在我尝试使用解析后“重新传输”请求。我也尝试connect-restreamer在同一问题中使用该解决方案,但没有成功。

我的代码看起来像这样

我收到这个错误

我试图调试流程,但我正在抓住稻草。请问有什么建议吗??

0 投票
2 回答
855 浏览

node.js - Express set app.use middleware in every file?

I've created a very basic express js application. After setting routes and other things I did app.use('/api/', require('./api/api.js'));

api.js looks something like this:

I'm using Postman chrome extension to post to this route. The response is empty {}.

The question is: as long as I have in my app.js body-parser middleware set do I need to set it again in api.js ? If not why I have an empty response ?

In app.js body-parser is set like this:

0 投票
5 回答
3961 浏览

javascript - Express js - 请求正文为空

我刚刚安装了最新版本的模块。我无法获得任何 GET 或 POST 变量。我做错了什么?节点:v0.12.2

http://localhost:3000/?token=devvvvv GET 返回:您发布:{}

感谢您的回答,但 POST 的问题没有解决... http://localhost:3000/上的 POST token=as123ds 在req.body 中返回空数组 我该如何解决这个问题?

0 投票
0 回答
417 浏览

javascript - 如何让身体解析器解析表情符号?

我在 Express 中有以下中间件:

当我尝试将表情符号发布到我的服务器时,app.use(bodyParser.json({ limit: '50mb' }));换行符并使服务器崩溃。我正在寻找一种在 Express 或 body parser 中处理表情符号的方法,但似乎对此几乎没有支持。如何让身体解析器解析表情符号?

编辑:

这是我通过 curl 发送到我的 Express 服务器的消息负载

索引.html

0 投票
3 回答
61693 浏览

node.js - express 4.0中的“扩展”是什么意思?

我在我的应用程序中使用 express 和 body-parser。

但是,express 4.0 中的“扩展”是什么意思?

我找到了这个

但是,我仍然无法理解它的含义。

0 投票
0 回答
45 浏览

scala - 使用temporaryFile bodyParser在Play中检测取消的请求

如果调用者取消了使用Action.async(temporaryFile)bodyparser 的大型 PUT/POST 操作,则 Action 正文将正常执行。java.nio.channels.ClosedChannelException但似乎只发生在将响应写回通道时,而不是在请求完成之前关闭通道时发生。

我发现的唯一安全措施是手动与标头进行比较file.lengthContent-Length这对于流式请求甚至是不可能的。

这是故意的吗?如果是这样,如果通道被客户端中间请求关闭,是否还有其他钩子在请求执行之前使请求失败?