煮秋爱暖 发表于 2013-8-29 13:51

【其它品牌盒子】 增强版 curl进行迅雷会员离线下载

本帖最后由 慢慢慢慢来 于 2013-12-25 15:41 编辑

前一段发了个帖子,介绍用curl进行迅雷会员离线下载。
   

   
但在实际使用中,发现用curl,会不定时发生下载失败的问题。这个问题引起的后果,就是已经下载的数据全部作废。
   

   
写了个小程序,可以自动分析迅雷离线资源文件,将大文件分解成100M分段下载。完成后再将小文件合并为原始文件。
   

   
命令格式为:
   

   
AnalyzeBTList 离线资源文件路径名 会员cookieid
   

   
如:
   
AnalyzeBTList d:1.txt xxxxxxxx
   

   
执行后会自动生成downloadsh文件。
   

   
使用ultraedit,将此文件转换为unix格式。此步是必须的。我很笨,生成的文件死活不符合unix的换行格式。
   

   
使用ftp将downloadsh上传到m7的下载目录,然后telnet到m7,执行" ./downloadsh &",等待下载完成。
   

   
注意脚本执行时,没有对下载文件大小进行判断。所以各位在下载完成后,最好ftp到下载目录,看看是否除最好一个文件,其它文件均为95.3M。如否,说明这个文件下载错误,找到downloadsh文件中对应的命令,重新执行下就可以了。
   

   
离线资源文件生成方法:
   
通过浏览器进入迅雷离线下载页面,启用httpwatch,或IE9“F12开发人员工具”等网页数据监视程序开启网页监视,然后点击要下载资源右边的“打开”按钮。当进入下载资源列表后,在httpwatch中,查找“/interface/fill_bt_list”开头的一个get请求记录,将其回应数据,全部保存在一个文本文件中即可。
   

   
回应数据类似如下格式开头
   
fill_bt_list({"Result":{"Tid":"32137570052","Infoid":"21E45E901F9EC3。。。。。。
   

   
附件为程序
页: [1]
查看完整版本: 【其它品牌盒子】 增强版 curl进行迅雷会员离线下载