Solución:
request
apoyos application/x-www-form-urlencoded
y multipart/form-data
cargas de formularios. Para multipart/related
consulte la API de varias partes.
application / x-www-form-urlencoded (formularios codificados en URL)
Los formularios codificados en URL son simples:
const request = require('request');
request.post('http:/url/rest/login', {
form: {
username: 'xyzzzzz',
password: 'abc12345#'
}
})
// or
request.post('http:/url/rest/login').form({
username: 'xyzzzzz',
password: 'abc12345#'
})
// or
request.post({
url: 'http:/url/rest/login',
form: {
username: 'xyzzzzz',
password: 'abc12345#'
}
}, function (err, httpResponse, body) { /* ... */ })
Ver: https://github.com/request/request#forms
O usando request-promise
const rp = require('request-promise');
rp.post('http:/url/rest/login', {
form: {
username: 'xyzzzzz',
password: 'abc12345#'
}
}).then(...);
Ver: https://github.com/request/request-promise#api-in-detail
Si está utilizando el paquete axios, aquí está la solución.
Si tiene los encabezados como Content-type: 'application/x-www-form-urlencoded'
luego llamarás a la API de publicación como
const response: any = await axios.post(URL, bodyData, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
URL es la URL de su API como http // YOUR_HOST / XYZ …, y
bodyData son los datos que desea enviar en la API de publicación,
Ahora, ¿cómo lo pasarás?
Suponga que tiene datos como objeto, por lo que debe codificarlos como url, permítame mostrarle
let data = {
username: name,
password: password
}
entonces tu bodyData será como
let bodyData = `username=${name}&password=${password}`
Esta es la forma en que puede pasar sus datos en el cuerpo si el encabezado es
Content-type: 'application/x-www-form-urlencoded'
Si tiene una gran cantidad de datos que no puede codificar manualmente, puede usar el módulo qs
ejecutar comando npm i qs
y en tu archivo
const qs = require('qs');
...
let data = {
username: name,
password: password,
manyMoreKeys: manyMoreValues
}
let bodyData = qs.stringify(data);