Вы передаете заголовки вызову http-запроса, а затем пытаетесь добавить заголовок Content-Length
после факта. Это следует сделать до того, как вы передадите значения, так как это меняет способ, которым http-запрос устанавливает Transfer-Encoding
:
var body = "postdata";
var postRequest = {
host: "www.facepunch.com",
path: "/newreply.php?do=postreply&t=" + threadid,
port: 80,
method: "POST",
headers: {
'Cookie': "cookie",
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(body)
}
};
var buffer = "";
var req = http.request( postRequest, function( res )
{
console.log( res );
res.on( "data", function( data ) { buffer = buffer + data; } );
res.on( "end", function() { require( "fs" ).writeFile( "output.html", buffer ); } );
} );
req.write( body );
req.end();