#include<windows.h>
#include<wininet.h>
#include<stdio.h>
#pragma comment(lib,"wininet.lib")
typedef int Bool;
Bool UrlDownLoadToFile(const char *purl,const char *pfile) ;
void main()
{
char szurl[100];
char szfile[100];
while(1)
{
printf("url:");
gets(szurl);//输入url
printf("\nlocation:");
gets(szfile);//把读取的文件存在本地的哪个位置
//printf("%s",szfile);
UrlDownLoadToFile(szurl,szfile);
}
}
Bool UrlDownLoadToFile(const char *purl,const char *pfile)
{
DWORD byteread=0;
char buffer[4096];
memset(buffer,0,4096);//全置为0
HINTERNET internetopen;//internet句柄
internetopen = InternetOpen("Testing",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0); //返回一个句柄
if (NULL == internetopen)
{
printf("Internet open failed!\n");
InternetCloseHandle(internetopen);//关闭句柄
return 0;
}
HINTERNET internetopenurl;
internetopenurl = InternetOpenUrl(internetopen,
purl,
NULL,0,INTERNET_FLAG_RELOAD,0);
if (NULL == internetopenurl)
{
printf("Internet open url failed!\n");
InternetCloseHandle(internetopen);
InternetCloseHandle(internetopenurl);
return 0;
}
BOOL hwrite;
DWORD written;
HANDLE createfile;
createfile = CreateFile(pfile,GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
if (createfile == INVALID_HANDLE_VALUE)
{
printf("Create File failed!\n");
InternetCloseHandle(internetopen);
InternetCloseHandle(internetopenurl);
CloseHandle(createfile);
return 0;
}
BOOL internetreadfile;
while(1)
{
internetreadfile=InternetReadFile(internetopenurl,buffer,sizeof(buffer),&byteread);
//::Sleep(2000);
if(byteread==0)
break;
hwrite=WriteFile(createfile,buffer,sizeof(buffer),&written,NULL);
//::Sleep(2000);
if (hwrite==0)
{
printf("Write to file failed!\n");
InternetCloseHandle(internetopen);
InternetCloseHandle(internetopenurl);
CloseHandle(createfile);
CloseHandle(createfile);
return 0;
}
}
// LPDWORD buffer1[4096];
//::ReadFile(createfile,(LPVOID)buffer,4095,buffer1,NULL);
//buffer[4095] = '\0';
//printf("%d\n%s\n",strlen(buffer1),buffer);
printf("Finished downloading!\n");
InternetCloseHandle(internetopen);
InternetCloseHandle(internetopenurl);
CloseHandle(createfile);
CloseHandle(createfile);
return 1;
}
07信息主题爬虫在这下载
4星 · 超过85%的资源 需积分: 10 105 浏览量
2010-03-21
10:53:00
上传
评论 1
收藏 2.57MB RAR 举报
lansong1
- 粉丝: 12
- 资源: 4
最新资源
- Python实现MLP时间序列预测(完整源码和数据)
- 已过基于Hadoop+Spark招聘推荐可视化系统 大数据项目 毕业设计(源码下载)
- python爬虫开发题答案及题目-100(1).zip
- Python 小游戏 (贪吃蛇、五子棋、扫雷、俄罗斯方块)-3 (2).zip
- c语言实现的数独小游戏.zip
- 高德地图中国行政区划省、市、县经纬度
- March 2024 Expiration Of The OAM Out Of The Box Certificates
- 二叉搜索树迭代器(java代码).docx
- 解决keil MDK 5.38版本 在Debug配置使用STlink调试时软件闪退的问题
- py小项目:用户登录和注册系统开发欢迎图片
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈