读书人

如何用HTTP将网上的图片下载下来求例

发布时间: 2012-03-27 13:44:24 作者: rapoo

怎么用HTTP将网上的图片下载下来,求例子(最好是socket实现的)。
RT

[解决办法]

C/C++ code
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;}
[解决办法]
上面的实例还是URLDownToFile下载
看看这个http://www.vckbase.com/document/viewdoc/?id=1208

读书人网 >C++

热点推荐