down_转载

void DownloadFromInternet(System::String Url, System::String Path)  
{  
    //创建 HttpRequest 请求对象  
    System::Net::HttpRequest *Request = new System::Net::HttpRequest(Url);  
    //内存允许情况下, 返回的指针总是可用的  
    if (!Request) return;  
    //初始化Request以适合我们的要求  
    Request->Method    = T("GET");  
    Request->Timeout   = 8000;  
    Request->UserAgent = T("RLIB Downloader/1.1");  
    Request->Accept    = T("text/xml,application/xml,application/xhtml+xml,text/html;*/*");    
    Request->Headers.Add("Accept-Charset", "iso-8859-1,utf-8;q=0.7,*;q=0.7");    
    Request->Headers.Add("Accept-Language", "zh-cn, zh;q=1.0,en;q=0.5,en;q=0.5,en;q=0.5");    
    Request->Headers.Add("Accept-Encoding", "gzip, deflate, x-gzip, identity; q=0.9");   
    //获取远程服务器响应对象  
    System::Net::HttpResponse *Response = Request->GetResponse();  
    //判断是否出现异常  
    if (!Response)  
    {  
        MessageBox(NULL, Request->GetLastException()->Message, T("REQUEST ERROR"), 0);  
        goto FAIL;  
    }  
    if (Response->GetLastException()->Id != STATUS_SUCCESS)  
    {  
        MessageBox(NULL, Response->GetLastException()->Message, T("RESPONSE ERROR"), 0);  
        Response->Close();  
FAIL:  
        delete Request;  
        return;  
    }  
    //这里表示成功了  
    System::IO::FileStream *File = System::IO::File::Create(Path, System::IO::File::CreateNewMode);  
    if (File)  
    {  
        File->Write(Response->GetResponseStream()->ObjectData, Response->GetResponseStream()->Length);  
        if (File->GetLastException()->Id != STATUS_SUCCESS)  
        {  
            MessageBox(NULL, File->GetLastException()->Message, T("FILE ERROR"), 0);  
        }  
        delete File;  
    }  
    Response->Close();  
    delete Request;  
    return;  
}  


///
DownloadFromInternet(T("http://rlib.googlecode.com/files/RLIBTest1.1.zip"), T("C:\\test.zip")); 


  

转载于:https://www.cnblogs.com/yan1345/p/3505314.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值