我有一个Node JS应用程序需要下载一个文件,在运行时给出一个URL。
网址可以是http://
或https://
。
我如何最好地满足不同的协议?
目前我有:
var http = require('http');
var https = require('https');
var protocol = (parsedUrl.protocol == 'https:' ? https : http);
protocol.get(parsedUrl, function(res) {
...
});
......但感觉很笨重。
谢谢!
答案 0 :(得分:30)
我有类似的需求,但不需要完整的请求或针库,我有以下代码(略有不同)
var adapterFor = (function() {
var url = require('url'),
adapters = {
'http:': require('http'),
'https:': require('https'),
};
return function(inputUrl) {
return adapters[url.parse(inputUrl).protocol]
}
}());
//.. and when I need it
adapterFor(url).get(url, ...)
答案 1 :(得分:16)