https.request到维基百科页面 - 未找到错误。

时间:2015-12-19 11:08:06

标签: javascript node.js https request

在这段代码中,我想创建一个下载维基百科页面的请求对象。

这就是我尝试这样做的方式:

var https = require('https');
var fs = require('fs');

var options = {
     hostname: 'en.wikipedia.org/',
     port: 443,
     path: '/wiki/George_Washington'
};

var req = https.request(options, function(res) {
    var responseBody = "";
    res.setEncoding("UTF-8");
    res.on('data', function(chunk) {
       responseBody += chunk;
    });
    res.on('end', function() {

        fs.writeFile('wikipedia.md', responseBody, function(err) {
            if(err) {
                 throw err;
            }
        });

    });
 });

req.on('error', function(err) {
    if(err) {
        console.log('Problem with request ', err);
}
});
req.end();

但是我收到了以下错误:

Problem with request  { [Error: getaddrinfo ENOTFOUND en.wikipedia.org/ en.wikipedia.org/:443]
 code: 'ENOTFOUND',
 errno: 'ENOTFOUND',
 syscall: 'getaddrinfo',
 hostname: 'en.wikipedia.org/',
 host: 'en.wikipedia.org/',
 port: 443 }

可能是我的端口号错了吗?或者我的路线有问题?

1 个答案:

答案 0 :(得分:1)

您的主机名:

hostname: 'en.wikipedia.org/',

包含一个尾部斜杠。删除它:

hostname: 'en.wikipedia.org',

并且您的代码运行正常。