post 请求的 SSL 通信问题

Problem with ssl comuniction with post request

Hey, I built ssl communication with self certificate. The connection is working, but when I trying to deliver data on the client side with post request in postman or my android client, the body of the request in the server side is empty. Here is my nodejs server code below,thankes for help.

const express = require('express')
const https = require('https')
const path = require('path')
const fs = require('fs')


const app = express()
app.use(express.json())    


app.post('/',(req,res,next)=>
{
    console.log("we got new connection")
    var data =req.body

    res.send(data)
})

const ssl_server = https.createServer(
    {
    key:fs.readFileSync(path.join(__dirname,'cert','key.pem')),
    cert:fs.readFileSync(path.join(__dirname,'cert','cert.pem'))
    
},app)

ssl_server.listen(3443,console.log("SSl server is online!"))

您正在阅读 response 正文。你应该看看 request.

无论如何,除非您以某种方式解析 POST 有效负载,否则可能不会有太多合理的数据可供读取;如果您不想自己这样做,我建议您使用 Express 库而不是原始 Node.js HTTP 位。

here is my answer for my question,like AKS said, you need to parse the post request, i add bodyparser to my code and it worked.

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


const app = express()
app.use(bodyParser.urlencoded({ extended: true }))    // <==== parse request body as JSON

app.post('/',(req,res,next)=>
{
    console.log("we got new connection")
    var data =req.body

    res.send(data)
})

const ssl_server = https.createServer(
    {
    key:fs.readFileSync(path.join(__dirname,'cert','key.pem')),
    cert:fs.readFileSync(path.join(__dirname,'cert','cert.pem'))
    
},app)

ssl_server.listen(3443,console.log("SSl server is online!"))