接上一篇//下载文件的方法//url:网络文件地址,filename:保存到磁盘的文件名bool DownFile(LPCTSTR url,CString filename){ bool result=false; try{
//自定义http头信息 char* headers="Accept:*/*\r\n" "Accept-Language:zh-cn\r\n" "User-Agent:VCTestClient\r\n";
HINTERNET hNet = InternetOpen("Outlook",PRE_CONFIG_INTERNET_ACCESS,NULL,INTERNET_INVALID_PORT_NUMBER,0) ;
HINTERNET hUrlFile = InternetOpenUrl(hNet,url,headers,strlen(headers),INTERNET_FLAG_RELOAD,0);
char buffer[10*1024] ; DWORD dwBytesRead = 1; BOOL bRead=TRUE; CFile file;
file.Open(filename,CFile::modeCreate|CFile::modeWrite);//创建本地文件,准备写入数据 while(bRead&&dwBytesRead>0) { bRead = InternetReadFile(hUrlFile,buffer,sizeof(buffer),&dwBytesRead); if(dwBytesRead>0) file.Write(buffer,dwBytesRead); } InternetCloseHandle(hUrlFile) ; InternetCloseHandle(hNet) ; file.Close(); result=true; }catch(CException *e) { result=false; } return result;}
|