Solicitud HTTP de Node.js con autenticación básica en un servidor autofirmado

Solicitud HTTP de Node.js con autenticación básica en un servidor autofirmado

Estoy usando el siguiente código sólo para obtener una respuesta básica de un servidor web con un certificado autofirmado. Se necesita autenticación básica.

Estoy probando el siguiente código a través deNodo.js(con el httpmódulo), pero falla después de unos segundos. Entiendo que no recibe respuesta del servidor y se agota el tiempo de espera.

{[Error: socket hang up] code: 'ECONNRESET' }
Problem with request: undefined

Code:<BR>
const fs = require('fs');<BR>
const http = require('http');<BR>
const https = require('https');<BR>
var options = {<BR>
    method: "GET",<BR>
    hostname: "ServerName.com",<BR>
    port: 8445,<BR>
    rejectUnauthorized: 'false',<BR>
    cert: fs.readFileSync('Certname.cer'),<BR>
    ca: [ fs.readFileSync('Certname.cer') ],<BR>
    checkServerIdentity: () => { return null; },<BR>
    path: '/finesse/api/User/TEST/Dialogs'<BR>
    Authorization:'Basic',<BR>
    cacheControl: 'no-cache',<BR>
    acceptEncoding: "gzip, deflate",<BR>
    username: user,<BR>
    password: passw,<BR>
    Connection: 'keep-alive'<BR>
};<BR>

var req = http.request(options, function(res){<BR>
    var responseBody ="";<BR>
    console.log(`server status: ${res.statusCode}`);<BR>
    console.log("Responcer Headers: %j" , res.headers);<BR>
    res.setEnconding("UTF-8");<BR>
    res.once("data", (chunk)=>{ <BR>
        console.log(chunk);<BR>
    });<BR>
    res.on('data', function(chunk) { <BR>
        console.log(`---chunk-- ${chunk.length}`);<BR>
        responseBody +=chunk;<BR>
    });<BR>
    res.on("end", function() {<BR>
        fs.writeFile("userDialog.html", responseBody, function (error) {<BR>
            if (error) throw error; <BR>
        });<BR>
    });<BR>
});<BR>
req.on("error", function(err) {<BR>
    console.error(err);<BR>
    console.log(`Problem with request: ${err.mesage}`)<BR>
});<BR>

La misma solicitud cuando se realiza a través deCarterodevuelve el contenido correcto. Incluso copié el código de solicitud de Postman y lo probé, pero con los mismos resultados. En Postman, también hay dos opciones más en el encabezado:

"User-Agent": "PostmanRuntime/7.13.0", "Postman-Token": ....

No sé si los necesito... ¿Alguna idea?

¡Muchas gracias!

información relacionada