这又一次让我对http.request产生质疑

//======================================================
// 喜爱123四年级上英语MP3下载爬虫1.00
// 2018年5月10日
//======================================================
var http=require("http");            // http模块
var https=require("https");            // https模块
var zlib = require('zlib');            // 用于解析gzip网页
var fs=require('fs');                // 文件处理模块
var iconv = require('iconv-lite');    // 用于转码。
var cheerio = require("cheerio");    // 用于从HTML中以类似jquery方式查找目标//--------------------------------------
// 下载单个mp3
//--------------------------------------
function downloadMp3(url){console.log("mp3:"+url+"下载开始");// 得到hostname,path和portvar currUrl=url.replace("http://","");var pos=currUrl.indexOf("/");var hostname=currUrl.slice(0,pos);        var path=currUrl.slice(pos);// 有端口加端口,没有端口默认80var port=80;if(hostname.indexOf(":")!=-1){var arr=hostname.split(":");hostname=arr[0];port=arr[1];}var name=url.slice(url.lastIndexOf("/"));// 初始化options  options={hostname:hostname,port:port,path:path,method:'GET',/* headers:{'Referer':'https://www.nvshens.com',},*/  // 有需要再打开
    };req=http.request(options,function(resp){var imgData = "";resp.setEncoding("binary"); resp.on('data',function(chunk){imgData+=chunk;            });resp.on('end',function(){        // 创建文件var fileName="./"+name;fs.writeFile(fileName, imgData, "binary", function(err){if(err){console.log("[downloadPic]文件   "+fileName+"  下载失败.");console.log(err);}else{console.log("文件"+fileName+"下载成功");}});    });});// 超时处理req.setTimeout(7500,function(){req.abort();});// 出错处理req.on('error',function(err){if(err){console.log('[downloadMp3]文件   '+url+"  下载失败,"+'因为'+err);}});// 请求结束
    req.end();
}//-------------------------------
// 入口函数
//-------------------------------
function main(){var profix='http://ting.xiai123.com/mp3/kewen/wysyy4s/Module0';var appendixs=['Unit1','Unit2','Words'];for(var i=1;i<10;i++){for(var j=0;j<appendixs.length;j++){var url=profix+i+'_'+appendixs[j]+".mp3";downloadMp3(url);}}//downloadMp3('http://ting.xiai123.com/mp3/kewen/wysyy4s/Module01_Unit2.mp3');
}// 开始
main();

2018年5月10日13点44分

【Nodejs】使用http.request批量下载MP3,发现网络文件大于1000K时下载文件为0K相关推荐

  1. POI下载表格数据,带有表格样式时下载文件为0

    1 现象描述: 公司要求做数据下载,同时下载的时候要求excel格式和前端配置的报表要保持一致,因此开发了新功能,增加了单元格字体,背景色,计算公式,小数位数等相应的功能.新功能上线后,偶尔报错 Ex ...

  2. python selenium 下载文件_Python Selenium —— 文件上传、下载,其实很简单

    很多selenium学习者被浏览器弹出的文件上传.下载框折磨的痛不欲生,今天博主就带你们轻松搞定上传和下载问题. 上传 上传弹框 文件上传是所有UI自动化测试都要面对的一个头疼问题,要处理这个问题,我 ...

  3. nodejs读取excel内容批量替换并生成新的html和新excel对照文件

    因为广告投放需要做一批对外投放下载页面,由于没有专门负责填充页面的编辑同学做,只能前端来做了, 拿到excel看了一下,需要生成200多个文件,一下子懵逼了. 这要是来回复制粘贴太low了 正好最新用 ...

  4. Java--语言应用--批量修改MP3的文件名、标题

    从网上下了些脱口秀mp3,准备回家的时候在路上听听. 下载之后发现文件名都是以"某某网整理"开头,导入到手机之后歌名长得连有用的信息都看不到了. 不想一个个改了,于是敲了几行jav ...

  5. 解决下载MP3等文件自动播放完美解决方法

    这段时间在研究a href 下载MP3的时候,比如谷歌浏览器会自动播放,后来查资料得知需要在iis中修改mime类型为:.mp3对应的mime类型为Audio/mpeg,修改后发现可以下载,但是后来又 ...

  6. 批量修改mp3文件的title等

    批量修改mp3文件的title等 不是改文件名哦: 下载地址:https://mp3tag.en.softonic.com/ 帮助文档:file:///C:/Program%20Files%20(x8 ...

  7. kjb文件 解析_批量修改MP3文件信息

    前两天本人在整理自己的歌单时(题外话,本人是一个热衷音乐的程序员噢,哈哈),发现之前下载的很多MP3文件里的歌手,标题等信息对不上,很多都是错的.对于患有"强迫症"的本人来说,当然 ...

  8. bilibili视频格式m4s批量转换为mp3,mp4

    将bilibili视频格式进行批量进行转换代码 ####bilibili视频下载到手机,视频分为了video.m4s和audio.m4s. 下面代码就是将其批量转换为video.mp4,audio.m ...

  9. springboot文件上传和下载(批量/单个)

    前言 用springboot + jpa,批量上传.下载,一般批量下载处理方式都是将多个文件压缩成一个压缩包,然后在下载,主要的坑在于本地上传和下载都正常,部署在服务器上会出现各种错误,比如找不到路径 ...

  10. python下载MP3到本地

    下载MP3文件到本地 具体代码如下: import os import requests def DownloadFile(mp3_url, save_url,file_name):try:if mp ...

最新文章

  1. ehcache 简介
  2. IBM之alphablox 数据源定义问题解决
  3. FPGA之道(83)功能仿真之仿真语法(Graphic Waveform )
  4. 单节点部署Hadoop教程
  5. java 面向对象的特性 抽象_java面向对象的四个特性
  6. Python--网络编程-----传输层tcp/udp协议
  7. C语言SetConsoleCursorPosition()函数来定位光标位置
  8. phpcms根据二级栏目列表写的三级栏目列表
  9. Easy Recovery帮你解决数据丢失的苦恼
  10. 抖音直播间弹幕发言采集工具
  11. 禁止电脑屏幕旋转快捷键
  12. 揭露卖劣质U盘黑心商家的利器
  13. 网站被劫持,打开一个网站会跳到另一个怎么办,直接输入网址也是这样。怎么办呢?
  14. OGG同步字符集从US7ASCII to ZHS16GBK故障解决
  15. 百词斩和扇贝单词 背单词功能模块测试
  16. BC20 MQTT与GPS功能测试
  17. 2022年全球及中国公共关系(PR)工具行业头部企业市场占有率及排名调研报告
  18. MongoBD 系列(1) —— 初识 MongoDB
  19. 2021年东城区文菁计划资金补助政策及申报条件,部分项目补贴100万
  20. s-tui:在 Linux 中监控 CPU 温度、频率、功率和使用率的终端工具

热门文章

  1. 域名备案后修改服务器,域名备案后修改服务器
  2. 程序员电脑(减少辐射)(¥37)
  3. mysql relay log.info_技术分享 | slave_relay_log_info 表认知的一些展开
  4. 奖学金评审系统java_奖学金评定系统 - WEB源码|源代码 - 源码中国
  5. 2017年2月22日-----------乱码新手自学.net 之Entity Framework 增删改
  6. 原创科幻短篇《Bug》
  7. 迅睿CMS插件自动采集伪原创免费插件
  8. 3D Vision--生成空间任意圆柱及任意直线
  9. android studio静态界面设计,2.3 使用Android Studio 简单设计UI界面
  10. 《富爸爸,穷爸爸》这本书有何价值?