var https = require('https');
var p = '/api/username/FA/AA?ZOHO_ACTION=EXPORT&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=JSON&ZOHO_API_KEY=dummy1234&ticket=dummy9876&ZOHO_API_VERSION=1.0';
var https = require('https');
var options = {
host: 'reportsapi.zoho.com',
port: 443,
path: p,
method: 'POST'
};
var req = https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.end();
req.on('error', function(e) {
console.error(e);
});
Cuando ejecuto el código anterior, estoy obteniendo el error por debajo. mensaje¿Cómo se configura Content-Length cuando se envía una solicitud POST en NodeJS?
error:
statusCode: 411
headers: { 'content-type': 'text/html',
'content-length': '357',
connection: 'close',
date: 'Thu, 24 Nov 2011 19:58:51 GMT',
server: 'ZGS',
'strict-transport-security': 'max-age=604800' }
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
411 - Length Required
cómo solucionar el error Abobe?
He intentado hacer a continuación
var qs = 'ZOHO_ACTION=EXPORT&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=JSON&ZOHO_API_KEY=dummy1234&ticket=dummy9876&ZOHO_API_VERSION=1.0';
'
options.headers = {'Content-Length': qs.length}
Pero si trato de esta manera me estoy haciendo a continuación error:
{ stack: [Getter/Setter],
arguments: undefined,
type: undefined,
message: 'socket hang up' }
Puede alguien me ayude en esto?
Gracias
Koti
PS: Si entro en toda la URL en la barra de direcciones del navegador y pulsa enter estoy recibiendo respuesta JSON como se esperaba.
por favor, no use data.length, me encontré con este problema y el autor dijo que no utilice data.length, en su lugar, utilice Buffer.byteLength (datos). Pregunta de referencia: http://stackoverflow.com/questions/18692580/node-js-post-causes-error-socket-hang-up-code-econnreset y ref issue: https://github.com/visionmedia/express/ issues/1749 –