- request模块让http请求变的更加简单。最简单的一个示例:
var request = require('request'); request('http://www.google.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } })
- 可以用request的pipe方法很方便的获取图片的文件流
var request = require('request'), fs = require('fs'); request('https://www.google.com.hk/images/srpr/logo3w.png').pipe(fs.createWriteStream('doodle.png'));
- 需要循环去下载远程文件,然后自己写了一个demo,可以直接运行,如下:
//文件下载 var fs = require("fs"); var path = require("path"); var request = require("request"); //创建文件夹目录 var dirPath = path.join(__dirname, "file"); if (!fs.existsSync(dirPath)) { fs.mkdirSync(dirPath); console.log("文件夹创建成功"); } else { console.log("文件夹已存在"); } //循环多线程下载 for (let i = 0; i < 60; i++) { let fileName = "out" + intToString(i, 3) + ".ts"; let url = "https://xxx.sdhdbd1.com/cb9/sd/gc/g1/670BC531/SD/" + fileName; let stream = fs.createWriteStream(path.join(dirPath, fileName)); request(url).pipe(stream).on("close", function (err) { console.log("文件[" + fileName + "]下载完毕"); }); } //整数转字符串,不足的位数用0补齐 function intToString(num, len) { let str = num.toString(); while (str.length < len) { str = "0" + str; } return str; }