Node.js HTTP-Anfrage mit Basisauthentifizierung auf einem selbstsignierten Server

Node.js HTTP-Anfrage mit Basisauthentifizierung auf einem selbstsignierten Server

Ich verwende den folgenden Code nur, um eine einfache Antwort von einem Webserver mit einem selbstsignierten Zertifikat zu erhalten. Eine einfache Authentifizierung ist erforderlich.

Ich versuche den untenstehenden Code überNode.js(mit dem httpModul), aber es schlägt nach ein paar Sekunden fehl. Ich verstehe, dass es keine Antwort vom Server erhält und ein Timeout auftritt.

{[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>

Dieselbe Anfrage überBriefträgergibt den korrekten Inhalt zurück. Ich habe sogar den Anforderungscode von Postman kopiert und ausprobiert, aber mit den gleichen Ergebnissen. In Postman gibt es im Header außerdem zwei weitere Optionen:

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

Ich weiß nicht, ob ich die brauche ... Irgendwelche Ideen?

Vielen Dank!

verwandte Informationen