Изучение пересылки выписок из шкафчика
У меня есть обучающий шкафчик, работающий локально на моем компьютере, и я хотел бы показать утверждения на внешнем веб-сайте, это легко с панелями мониторинга, поскольку есть возможность иметь ссылку, которую можно поместить в iframe, но когда я делаю то же самое с частью утверждений, в нем говорится, что ip (обучающий шкафчик) заблокировал доступ, поэтому я попытался с перенаправлением оператора на сервер node.js, созданный как:
const http = require('http');
const { parse } = require('querystring');
const server = http.createServer((req, res) => {
if (req.method === 'POST')
{
console.log(req);
}
});
server.listen(8090);
Но когда я смотрю на req (Incomming Message), и оно кажется пустым, у меня есть несколько полей в качестве заголовков:
headers:
{ accept: 'application/json, text/plain, */*',
'content-type': 'application/json',
'x-experience-api-version': '1.0.0',
'user-agent': 'axios/0.18.1',
'content-length': '532',
host: 'IP_ADDRESS:8090',
connection: 'close' },
rawHeaders:
[ 'Accept',
'application/json, text/plain, */*',
'Content-Type',
'application/json',
'X-Experience-API-Version',
'1.0.0',
'User-Agent',
'axios/0.18.1',
'Content-Length',
'532',
'Host',
'IP_ADDRESS:8090',
'Connection',
'close' ],
Но тела и ничего не связанного с заявлением нет.
1 ответ
По умолчанию сервер nodejs не анализирует тело POST. Вы можете попробовать использовать https://www.npmjs.com/package/body-parser промежуточное ПО с платформой express.js
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
app.use(function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.write('you posted:\n')
res.end(JSON.stringify(req.body, null, 2))
})
app.listen(8090, function(error){
if(error) {
throw error
}
})