如何从外部URL下载json文件

时间:2019-08-14 10:29:53

标签: javascript node.js

我正在尝试使用nodejs从外部URL下载json文件。 问题在于此文件(dumpFile.json)创建为空。

var file = fs.createWriteStream("download/dumpFile.json");
let URL = 'http://user:pass@domain.com/file.json');
var request = http.get(URL, function (resp) {
     resp.on("finish", function () {
       logger.error(fs.readFileSync("file", { encoding: "utf8" }))
 }).pipe(file);
});
}).catch(error => {
  logger.error(error)  
})

我尝试了很多事情,但是我无法弄清楚正在发生什么。

2 个答案:

答案 0 :(得分:0)

const fs = require('fs')
const http = require('http')

const url = 'http://user:pass@domain.com/file.json'
const fileName = 'download/dumpFile.json'

http.get(url, function (res) {
  res.pipe(fs.createWriteStream(fileName))
})

答案 1 :(得分:0)

我认为您正在使用 http 调用 https 网址,请尝试使用此工作代码。

var http = require('https');
var fs = require("fs");
var file = fs.createWriteStream("dumpFile.json");
let URL = 'https://raw.githubusercontent.com/ljharb/json-file-plus/master/package.json';
try {
    var request = http.get(URL, function (resp) {
        resp.on("finish", function () {
            logger.error(fs.readFileSync("file", {
                encoding: "utf8"
            }))
        }).pipe(file);
    });
} catch (e) {
    console.log('error ', e);
}

很抱歉,您的代码似乎不完整,我对其进行了更新以检查其工作状态。