Estoy tratando de enviar algunos datos en NodeJS de un servidor localhost a otro, pero recibo un error desagradable. En el servidor que recibe la solicitud, parece que la solicitud se procesa porque estoy registrando un objeto en la terminal allí, excepto que sus propiedades son nulas (se supone que deben establecerse en las propiedades en el cuerpo de la solicitud, o nulo) .
Recibo el error incluso si intento con Axios, lo que me dice que no es un problema con http.request o Axios. Si alguien pudiera ayudarme a entender lo que está pasando, se lo agradecería.
Error:
events.js:377 throw er; // Unhandled 'error' event ^ Error: write EPROTO 8669511168:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332: at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:94:16) Emitted 'error' event on ClientRequest instance { errno: -100, code: 'EPROTO', syscall: 'write' }El proyecto que envía la solicitud se ve así:
archivo de recursos
const http = require('http'); const options = { host: 'localhost', port: 3000, path: '/create', method: 'POST', header: { 'Content-Type':'application/json' } } const body = { inquiryTotal: '20.00' } const stringifiedBody = JSON.stringify(body) module.exports.Inquiries = { create: () => { req = http.request(options, (res) => { console.log(res); }); req.write(stringifiedBody); // this is an object that's already stringified to JSON req.end(); /*axios.post('localhost:3000/v1/orders/create', { orderTotal: '21.00' }).then(res => { console.log(res); }).catch(err => { console.log(err); })*/ } }Solicitud de envío del servidor:
const resource = require('./lib/resource'); // create server code resource.Inquiries.create;Suponiendo que haya configurado correctamente su punto final de API, puede probar esto (se agregaron algunos comentarios dentro del código):
const axios = require("axios").default; const body = { inquiryTotal: "20.00" // Use single-qupte ('') or double-quote ("") here and don't use back-quote (``) }; module.exports.Inquiries = { create: () => { axios .post("http://localhost:3000/v1/orders/create", body) // Add http:// in the beginning of your url .then((res) => { console.log(res); }) .catch((err) => { console.log(err); }); } };