javascript - http.get 上的 "socket hang up"

标签 javascript node.js sockets

运行以下脚本时出现错误sockethang 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);
});

最佳答案

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

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

var http = require('https');

关于javascript - http.get 上的 "socket hang up",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37794343/

相关文章:

javascript - 在 iframe 中打印 PDF 时出现 IE9 "Invalid calling object"

javascript - 表单中的多个页面

node.js - 将 HTTPS 服务器从 Express 迁移到 Hapi

c - dtach - 如何检查是否已附加或未附加

file - Node.js "new Socket"是否创建 Unix 文件套接字?

javascript - Angularjs - 在选择字段中限制用户选择

javascript - 下一页只是向页面添加更多文档

node.js - Firestore then() 函数在 set() 之后不执行

node.js - 如何在 AWS Lambda 中使用 Nodejs "request"work aysn?

Python web-socket 解释(读取)数据