传送门:http://www.jianshu.com/p/002efed0d3af

我的代码:

const https = require('https');
const fs = require("fs");
const path = require("path");
const username = 'dragon8github';
const download_list = ['linux-999'];
const src = __dirname + "/src/";
const ext = ".zip"; fs.exists(src, function (exists) {
if (!exists) {
fs.mkdir(src, function (err) {
if (err) throw new Error("创建src文件夹失败,请提升脚本的权限");
console.log("检测到不存在src文件夹,已自动创建");
})
}
}) for (let [index, filename] of download_list.entries()) {
var req = https.request(`https://codeload.github.com/${username}/${filename}/zip/master`, function (res) {
var fileBuff = [];
res.on('data', function (chunk) {
var buffer = new Buffer(chunk);
fileBuff.push(buffer);
});
res.on('end', function () {
var totalBuff = Buffer.concat(fileBuff);
fs.appendFile(src + filename + ext, totalBuff, function(err){
if (err) throw new Error(filename + ": 下载出错");
console.log(filename + ": 下载完成");
});
});
});
req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
req.end();
}

最新文章

  1. Web性能优化:图片优化
  2. linux磁盘空间查询
  3. linux中快速清空文件内容的几种方法
  4. AWK改变输入输出分隔符实例分析
  5. 读书笔记:应用随机过程:概率模型导论:Aloha协议问题
  6. mac 安装lua并配置Subline Text2 的lua开发环境
  7. C# Redis
  8. zzuli oj 1165 实数的小数部分(指针专题)
  9. 微信返回上一页,页面中的AJAX的请求,对Get请求无效的解决办法
  10. 在C++中使用C#编写的类2
  11. 转载--初识绘图工具plantUML
  12. hash算法与hashmap
  13. [编织消息框架][JAVA核心技术]动态代理应用7-IRpcSend实现
  14. C语言实现数据结构中的堆创建,堆排序
  15. 16.git命令汇总
  16. oracle INS-13001 环境不满足最低要求
  17. fiddler 抓包工具(新猿旺学习总结)
  18. js实现简易版validate
  19. Atitit opencv3.0  3.1 3.2 新特性attilax总结
  20. 【工具推荐】ELMAH——可插拔错误日志工具(转)

热门文章

  1. IOS YYKit 源码解析
  2. VMware Esxi5.5中嵌套虚拟机的网络设置方法
  3. [LeetCode] Valid Number 确认是否为数值
  4. 【小米3使用经验】小米3联通版 miui7.2.11稳定版刷机
  5. linux 多进程绑定问题
  6. 浅谈控件(组件)制作方法一(附带一delphi导出数据到Excel的组件实例)(原创)
  7. 关于Integer的parseInt(String s, int radix)方法的使用
  8. ++x和x++
  9. Win7下VS2010、IIS7配置常见问题收集
  10. 洛谷—— P2884 [USACO07MAR]每月的费用Monthly Expense