C++ 获取URL图片、html文件,CInternetSession 【转】

http://blog.csdn.net/gnixuyil/article/details/7688439

获取网络图片

[cpp] view plain copy

  1. CString URL="http://www.google.com.hk/images/srpr/logo3w.png"
  2. CInternetSession session;
  3. CHttpFile *httpFile = (CHttpFile *)session.OpenURL(URL);
  4. CStdioFile imgFile;
  5. char buff[1024];    // 缓存
  6. imgFile.Open("图片名字.png", CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
  7. DWORD dwStatusCode;
  8. httpFile->QueryInfoStatusCode(dwStatusCode);
  9. if(dwStatusCode == HTTP_STATUS_OK) {
  10. int size=0;
  11. do {
  12. size = httpFile->Read(buff,1024);    // 读取图片
  13. imgFile.Write(buff,size);
  14. }while(size > 0);
  15. }
  16. httpFile->Close();
  17. session.Close();

获取URL的html

[cpp] view plain copy

  1. CInternetSession session;
  2. CHttpFile *httpFile = (CHttpFile *)session.OpenURL(m_URL);
  3. DWORD dwStatusCode;
  4. httpFile->QueryInfoStatusCode(dwStatusCode);
  5. CString getdata=_T("");
  6. if(dwStatusCode == HTTP_STATUS_OK) {
  7. CString line_data=_T("");
  8. while(httpFile->ReadString(line_data)) {
  9. getdata += line_data;          // 读取html
  10. }
  11. getdata.TrimRight();
  12. }
  13. httpFile->Close();   // html数据已经放在getdata中
  14. session.Close();
  15. // 如果 getdata 中保存的是UTF_8网页(可以看html的meta字段)
  16. strCoding cfm;  // 编码转换类,详情请看下方连接
  17. string temp = (LPCSTR)getdata.GetBuffer();  // 网页数据,转换成string型
  18. string output;
  19. // UTF_8转GB2312,让MFC控件能显示
  20. cfm.UTF_8ToGB2312(output,(char *)temp.data(),strlen(temp.data()));
  21. // 若MFC字符集为Unicode的话,还需要将多字节转为宽字节
  22. temp = output;
  23. DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, temp.c_str(), -1, NULL, 0);
  24. wchar_t *pwText;
  25. pwText = new wchar_t[dwNum];
  26. MultiByteToWideChar (CP_ACP, 0, temp.c_str(), -1, pwText, dwNum);
  27. // 取得转换后结果 m_data 用于显示
  28. m_data = pwText;
  29. delete []pwText;

编码转换类:http://blog.csdn.net/gnixuyil/article/details/7688469

时间: 2024-09-30 05:38:18

C++ 获取URL图片、html文件,CInternetSession 【转】的相关文章

获取URL对应的文件类型及后缀名

/** * Created by xiaoyee on 7/31/15. In project yundong_android */ public enum FileTypeUtil { PNG(".png", "image/png"), JPG(".jpg", "image/jpeg"), MP4(".mp4", "video/mp4"), JPEG(".jpeg"

PHP判断远程图片或文件或url是否存在-180

我通常使用curl判断判断远程图片或文件是否存在: /**     * @link http://www.phpddt.com     */    function url_exists($url) {        $ch = curl_init();         curl_setopt ($ch, CURLOPT_URL, $url);         //不下载        curl_setopt($ch, CURLOPT_NOBODY, 1);        //设置超时     

获取url 里的图片宽高

想获取一个url里的图片的尺寸时: var img_url = "http://www.qttc.net/static/upload/2013/13643608813441.jpg"; // 创建对象 var img = new Image(); // 改变图片的src img.src = img_url; alert(img.width , img.height); 获取url 里的图片宽高

php远程获取图片或文件信息(get_headers, fsocketopen, curl)

<?php if(!function_exists("remote_filesize")){ /** * 获取远程或本地文件信息 * @param string $strUrl 远程文件或本地文件地址 * @param integer $intType 调用方式(1:get_headers 2:fsocketopen 3:curl 4:本地文件) * @param array $arrOptional * @return array * @author mengdj<[em

【转】网络爬虫获取网站图片

转自:http://blog.csdn.net/huangxy10/article/details/8120106 备注:把项目属性中的字符集改成多字节集合? 1 // 网络爬虫.cpp : 定义控制台应用程序的入口点. 2 // 3 4 #include "stdafx.h" 5 /* 6 7 int _tmain(int argc, _TCHAR* argv[]) 8 { 9 return 0; 10 } 11 12 */ 13 14 //#include <Windows.

java 获取网络地址图片

收藏一个获取网络图片的方法. 1 //获取网络图片 2 public void ImageRequest(String ImageName,String GifUrl) throws Exception { 3 //new一个URL对象 4 URL url = new URL(GifUrl); 5 //打开链接 6 HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 7 //设置请求方式为"GET" 8 c

获取bing图片并自动设置为电脑桌面背景(使用 URLDownloadToFile API函数)

众所周知,bing搜索网站首页每日会更新一张图片,张张漂亮(额,也有一些不合我口味的),特别适合用来做电脑壁纸. 我们想要将bing网站背景图片设置为电脑桌面背景的通常做法是: 上网,搜索bing 找到图片的下载链接,并下载之 将图片设置为桌面背景(也有部分浏览器支持直接在网页中右击图片设置为壁纸) 可能你还会删除下载下来的图片 作为一枚coder,你不会觉得麻烦嘛?至少需要三个步骤呢! So...我就用C++语言写了一个小程序,用于获取bing网站的图片,并将其设置为桌面背景.整个过程只需要点

php获取远程图片模拟post,file上传到指定服务器

1.获取远程图片 /** $path保存图片的地址 $url要获取的远程图片地址 **/ function getimg($path,$url){ $aext = explode('.', $url);$ext = end($aext); $name = $path.'/'. time() . '.' . $ext;$source=file_get_contents($url);file_put_contents($name,$source);return $name; } 2.上传图片 /**

php使用curl来获取远程图片

本文章来介绍php使用curl来获取远程图片实现方法,有需要了解采集远程图片的朋友不防进入参考. curl要求php环境支持才行. 可以运行phpinfo()函数是否支持,一般要将php.ini中;extension=php_curl.dll前的;去掉.重新启动IIS或者APACHE就可以了.  代码如下 复制代码 /**@通过curl方式获取指定的图片到本地*@ 完整的图片地址*@ 要存储的文件名*/function getImg($url = "", $filename = &qu