VC下载文件


char m_URL[] = "http://www.baidu.com/img/logo.gif"; 
CString strServer,strObject; 
CString szHeaders; 
INTERNET_PORT nPort;

CInternetSession session("My Sesssion"); 
CHttpConnection * pServer = NULL; 
CHttpFile * pFile = NULL; 
DWORD dwRet , dwRead; 
DWORD nServiceType; 
char szBuff[1024*100]; 

if(TRUE!=AfxParseURL(m_URL,nServiceType,strServer,strObject,nPort)) 
{ 
   delete pServer; 
   AfxMessageBox("URL error"); 
   return; 
}

pServer = session.GetHttpConnection( strServer, nPort); 
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET,strObject); 
pFile->SendRequest(); 
pFile->QueryInfoStatusCode(dwRet);

if (dwRet == HTTP_STATUS_OK) 
{ 
  
   memset( szBuff, 0, sizeof(szBuff)); 
   DWORD dwFileLen = m_size = pFile->GetLength(); 
   CString str; 
   str.Format("filelen=%d",dwFileLen);

   AfxMessageBox(str); 
   DWORD ret; 
   dwRead=10; 
   ret=0; 
   HANDLE hFile;

   hFile=CreateFile("d:\\p.gif",GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);

  
   while(dwRead>0) 
   { 
    dwRead=pFile->Read(szBuff,sizeof(szBuff)-1); 
    WriteFile(hFile,szBuff,dwRead,&ret,NULL); 
   } 
  

   CloseHandle(hFile); 
}

delete pFile; 
delete pServer;

session.Close();


欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 

欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 


你可能感兴趣的:(File,null,url,delete,internet)