vc++ 下载远程图片

来源:互联网 发布:短信拦截软件 编辑:程序博客网 时间:2024/05/11 11:26
 
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 = 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();