我正在尝试从教程中学习NodeJS示例文件,因为我是NodeJS的新手,但我无法让它工作。当我在代码下面运行时出现错误:
var https = require("https");
var fs = require("fs");
var options = {
hostname: "en.wikipedia.org",
port: 443,
path: "/wiki/George_Washington",
method: "GET",
}
var req = https.request(options, function(res){ });
req.on('error', function(e) {
console.log(`here comes the error ${e}`);
});
我收到以下错误:
here comes the error:
Error:101057795:error:140770FC:SSLroutines:SSL23_GET_SERVunknownprotocol:openssl\ssl\s23_clnt.c:794:
我无能为力,感谢您的帮助和见解:)
更新:必须修改代码才能通过代理服务器。我发布了解决方案和调查结果。
答案 0 :(得分:1)
我解决了这个问题。以下是问题的摘要和对我有用的解决方案。
我在另一个网络中运行此代码并且运行正常。所以我意识到问题是我正在运行公司Web代理背后的代码,我需要修改我的代码以通过代理系统,而不是直接连接到目标Web服务器。我尝试安装https-proxy-agent模块,但无法安装。再次,因为我在代理系统后面。有一个名为.npmrc文件的npm配置设置文件,可以在C:/ users / [YOUR_USER]下找到。我在下面的配置中添加了.npmrc,以便能够按照建议的Here安装新软件包。
proxy = http://172.26.128.35:3128/
https_proxy = http://172.26.128.35:3128/
strict-ssl = false
ca = null
registry = http://registry.npmjs.org/
最后我修改了我的代码,如下所示,让它通过代理系统和瞧〜,它就像一个魅力。如果您遇到此问题,我希望这会有所帮助。
var https = require("https");
var fs = require("fs");
var HttpsProxyAgent = require('https-proxy-agent');
var proxy = 'http://172.26.128.35:3128';
var agent = new HttpsProxyAgent(proxy);
var options = {
hostname: "en.wikipedia.org",
port: 443,
path: "/wiki/George_Washington",
method: "GET",
agent: agent
}
var req = https.request(options, function(res) {
console.log(res.statusCode);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.end();
req.on('error', function(e) {
console.log(`here comes the error ${e}`);
});
答案 1 :(得分:0)
您是否尝试过此代码?
var https = require("https");
var fs = require("fs");
var options = {
hostname: "en.wikipedia.org",
port: 443,
path: "/wiki/George_Washington",
method: "GET",
}
var req = https.request(options, function(res) {
console.log(res.statusCode);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.end();
req.on('error', function(e) {
console.log(`here comes the error ${e}`);
});
对我来说很好!