已知下载路径,下载文件

本文介绍了一个使用CInternetSession类从指定URL下载文件到本地的C++示例程序。该程序通过创建CInternetSession实例并打开URL来获取资源,然后将资源写入本地文件中。文中还包含了错误处理机制。
摘要由CSDN通过智能技术生成
#include  < afxinet.h >
bool  InternetDownload( const  CString  & strURL,  const  CString  & strFN)
{
    
    CInternetSession internetSession(
"SecurityScan.exe",0);
    
//第一个参数不能为空
    
    
    BOOL bSucceed 
= TRUE;
    
    
try
    
{
        CStdioFile 
* pFile = internetSession.OpenURL(strURL);
        
        
if(pFile != NULL)
        
{
            
            
            CFile cf;
            
if(!cf.Open(strFN, CFile::modeCreate | CFile::modeWrite, NULL))
            
{
                
return FALSE;
            }

            
            BYTE Buffer[
512];
            
            ZeroMemory(Buffer, 
sizeof(Buffer));
            
int nReadLen = 0;
            
            
while((nReadLen = pFile->Read(Buffer, sizeof(Buffer))) > 0)
            
{
                cf.Write(Buffer, nReadLen);
            }

            
            cf.Close();
            pFile
->Close() ;
            
            delete pFile;
            
        }

    }

    
catch (CInternetException& e)
    
{
        
char szBuffer[128];
        ZeroMemory(szBuffer, 
sizeof(szBuffer));
        e.GetErrorMessage(szBuffer, 
sizeof(szBuffer), NULL);
        TRACE(
"InternetDownload, Exception: %s ",szBuffer);
    }

    
catch(...)
    
{
        TRACE(
"InternetDownload, Exception: ... ");
    }

    internetSession.Close() ;
    
    
    
if(!bSucceed)
        DeleteFile(strFN);
    
return bSucceed;
}


void  main()
{
//下载地址
    CString strURL="http://go.microsoft.com/fwlink/?linkid=18922";    
//存放路径名
                     CString strFN="C:/MSSecure_1033.cab";
    InternetDownload(strURL, strFN);
   
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值