现在的位置: 首页 > 综合 > 正文

[MFC]下载一个url的源文件到本地文件

2013年11月21日 ⁄ 综合 ⁄ 共 1346字 ⁄ 字号 评论关闭

{
    
//GetUrlSource("http://www.163.com");
    
// TODO: Add your control notification handler code here
    CString m_theUrl = _T("http://www.163.com"/*"file://C:/cmd.txt"*/);
    CString filename(
"1.htm");
    CInternetSession session;
    CString url 
= m_theUrl;
    
//url += filename;
    CInternetFile* file = 
        (CInternetFile
*)session.OpenURL(url,1,INTERNET_FLAG_TRANSFER_BINARY);

    
if(file == NULL)
    
{
        file
->Close();
        delete file;
        session.Close();
        MessageBox(_T(
"下载文件失败! 错误代码:1"),_T("提示"),MB_ICONERROR);
        
return;
    }


    CString name 
= filename;

    CFile file1;

    
if(file1.Open(name,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary,NULL))
    
{
        
int readlen = -1;
        
char buf[1024];
        
while(1)
        
{
            
//char* buf = new char[1024];
            readlen = file->Read(buf,1024);
            
if(readlen == 0)
            
{
                
//delete buf;
                break;
            }

            file1.Write(buf,readlen);
            
//delete buf;
            ZeroMemory(buf,1024);
        }

        file1.Close();
    }

    
else
    
{    
        MessageBox(_T(
"下载文件失败! 错误代码:2"),_T("提示"),MB_ICONERROR);
        file
->Close();
        delete file;
        session.Close();
        
return;
    }


    file
->Close();
    delete file;
    session.Close();

    
//CDialog::OnOK();
}

 

抱歉!评论已关闭.