当前位置: 首页 > 知识库问答 >
问题:

NODEJ从POST请求中获取原始身体[重复]

云联
2023-03-14

我在tradingview中有一个警报,它会向我的服务器发送一个带有请求的webhook,其中一个简单的主体包含一些信息。webhook发送纯文本,它不发送JSON数据。

我想知道有没有办法得到纯文本数据

这是JSON webhook

这就是我的密码

const express = require('express');

const app = express();

app.post('/webhook', (req, res) => {
    
})

app.listen(8080, () => {console.log("listening on port 8080")})

共有3个答案

史英飙
2023-03-14

更新:不推荐使用主体解析器中间件。@Aurast提供的答案将是在express中使用中间件的正确方法。

您需要添加一个中间件来解析和提取HTTP请求的主体。

您可以安装body-parser中间件:

$ npm install body-parser

然后按如下方式使用它:

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
app.use(bodyParser.text())


更多信息请看这里:http://expressjs.com/en/resources/middleware/body-parser.html

米楚青
2023-03-14
const express = require('express');
const app = express();
app.use(express.json({limit: '10mb'}));

app.post('/webhook', (req, res) => {
    const { psw, message }  = req.body
})

app.listen(8080, () => {console.log("listening on port 8080")})

通过这种方式,您可以在post请求中提取尸体。

谢志文
2023-03-14

您需要使用主体解析中间件。

您的问题不清楚网络钩子是纯文本还是JSON。如果纯文本:

const express = require('express');

const app = express();

app.use(express.text());

app.post('/webhook', (req, res) => {
  console.log(req.body); // If the request has Content-Type text/plain, the body will be parsed as text.
})

app.listen(8080, () => {console.log("listening on port 8080")});

如果JSON:

const express = require('express');

const app = express();

app.use(express.json());

app.post('/webhook', (req, res) => {
  console.log(req.body); // If the request has Content-Type application/json, the body will be parsed as JSON.
})

app.listen(8080, () => {console.log("listening on port 8080")});
 类似资料:
  • 我如何解析JSON请求之类的东西? 示例代码: 带有_名称的位置_为无

  • 问题内容: 我有以下django模板(将http:// IP / admin / start /分配给一个名为view的假设视图): 是视图中引用的Django模型的。每当单击“开始”提交输入时,我都希望“开始”视图在返回渲染页面之前使用函数中的数据。如何将POST(在本例中为隐藏输入)中发布的信息收集到Python变量中? 问题答案: 另外,你的隐藏字段还需要一个可靠的名称,然后是一个值: 然后

  • 如何从JAX-RS资源方法访问原始请求主体,例如或?对于特定的资源类或方法,我希望容器绕过任何,但是项目中有其他资源应该使用一些。 我已经尝试过了,但是它将调用注册的s并且无法将结果分配给()。 我用的是泽西1.11。

  • 我有以下问题:我试图在Spring控制器处理POST请求之前获取它的主体。为此,我使用HandlerInterceptorAdapter的preHandle()方法。 如本讨论中所述 SpringREST服务:从请求中检索JSON 我也使用使用此包装器,我设法打印了第一个POST请求的正文,但第二个POST抛出一个IOException:流关闭。 您对如何获取所有POST请求的正文有什么想法吗?