http.get上的“socket hang up”

时间:2016-06-13 16:01:22

标签: javascript node.js sockets

运行以下脚本时出现错误socket hang up。但是,如果我将主机从www.google.com更改为www.nodejs.org,则一切正常。为什么呢?

var http = require('http');

var options = {
        host: 'www.google.com',
        port: 443,
        path: '/'
};
http.get(options, function(data) {
        console.log('OK');
        data.resume();
}).on('error', function(e) {
        console.log('Error: ' + e.message);
});

1 个答案:

答案 0 :(得分:2)

www.google.com完全拒绝发送到其HTTPS服务器的非HTTPS请求,而www.nodejs.org则不会(因为您正在向HTTPS发出纯HTTP请求,它将返回HTTP 400状态)服务器)。

要发出HTTPS请求,您需要使用https模块:

var http = require('https');