C语言批量下载文件(含源码)

来源:岁月联盟 编辑:猪蛋儿 时间:2012-08-05

前段时间想批量下载一些文件,但是在网上找了一遍发现基本没有人写过这个东西,虽然迅雷可以设置批量下载的规则,但是比较简单,而且只能最多生成999个任务。最后终于在CSDN上找到了一篇文章是利用C语言和迅雷实现了资源的批量下载,于是修改了一下源码,解决了我的问题。
  我的目的是想批量下载几千个文件,文件地址是从http://URL/0001.zip一直到http://URL/9999.zip,于是借鉴了那篇文章中的思路,自己写了一个。其实我这个问题比那个作者的问题更简单,因为他需要设置3个变量,而我只需要1个。主要方法就是利用C语言向文件中批量写入字符串,然后打开后再配合迅雷的批量下载。
  最后我写的源码如下:
  /*
* Powered by 90blog.org
*/
#include <stdio.h>
 
void trans(char *c,int i)
{
if(i>=0 && i<10)
{
sprintf(c,"000%d",i);
}
else if(i<100)
{
sprintf(c,"00%d",i);
}
else if(i<1000)
{
sprintf(c,"0%d",i);
}
else
{
sprintf(c,"%d",i);
}
}
 
int main(int argc, char* argv[])
{
char buff[100];
char c[5]="0001";
FILE* fp;
int i=1;
int Max=9999;
fp=fopen("download.htm","w");
fputs("<html>/n",fp);
for (i = 1; i <= Max; i++)
{
trans(c,i);
sprintf(buff,"<p><a href=/"http://URL/%s.zip//">%s</a></p>/n", c,c);
fputs(buff,fp);
puts(buff);
}
fputs("</html>",fp);
puts("write ok");
fclose(fp);
return 0;
}
  运行后会直接生成一个HTML文件,打开后即可右键用迅雷下载全部链接。直接增加几千个任务,迅雷还好没卡死,QQ旋风直接无响应了,从这点来看迅雷在这方面还是比QQ旋风强大一些的。
  利用这种方法可以直接批量下载资源,不过貌似Linux下可以直接使用命令把地址批量写入文件然后再批量下载,不过我不会,所以只能用这种方法了。

 摘自 90后博客

图片内容