NodeJS-发出HTTPS GET请求

时间:2018-09-26 15:28:21

标签: node.js

我无法执行从NodeJS网络服务器到公共服务的HTTPS请求。

代码在这里:

const https = require('https');

        var httpOptions = {
            hostname: <URL>,
            path: <PATH>,
            port:443,
            method:"GET",
            auth: <USERNAME>+":"+<PASSWORD>
        }
        console.log(httpOptions);    

        https.get(httpOptions,(res)=>{
            console.log('statusCode:', res.statusCode);

            res.on('data', function (chunk) {
                console.log("DATA");
            });

            res.on('end',(error)=>{
                console.log("END");
            });

            res.on('error',(error)=>{
                console.log("ERRROR");
            });

        });

我得到以下回应:

Error: Hostname/IP doesn't match certificate's altnames: "Host: https. is not in the cert's altnames: DNS:*.ng.bluemix.net, DNS:ng.bluemix.net"

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您使用的网址似乎没有有效的SSL证书。

答案 1 :(得分:0)

问题是主机名错误。 我一开始就删除了协议:

"https://example.com" => "example.com"

之后效果很好。