怎么用HTTP将网上的图片下载下来,求例子(最好是socket实现的)。
RT
[解决办法]
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