首页 | 业界新闻 | 黑客教程 | 安全漏洞 | 安全文章 | 破解技术 | 技术文摘 | 黑客文化 | 本站原创 | 安全贴吧 | 在线留言 | IP查询 | 软件下载 | 繁体中文 |
您现在的位置: 黑色反击 >> 技术资讯 >> 技术文摘 >> 编程频道 >> VC >> 正文
VC通过HTTP方式获取网页
时间:2005-9-13 9:41:47 出处:网络 作者:werther1… 编辑:mervin 点击数:

在VC中通过HTTP方式获取网页,我试过好几种方式,但是都有问题,现将我用的两种虽然也有问题但基本可以实现的方式写出来,如果大家有更好的方式或者能解决我所遇到的问题,请告诉我:QQ158792331,邮箱:werther161@yahoo.com.cn

第一种:

首先要包含这个头文件:#include

  CInternetSession mySession;
  CHttpFile* myHttpFile=NULL;
  CString myData;
  myHttpFile=(CHttpFile*)mySession.OpenURL(url,1,INTERNET_FLAG_DONT_CACHE,NULL,0);
  for(int i=0;i<20&&myHttpFile->ReadString(myData);i++)
  {
   strXMLReturn+=myData+"\r\n";    //因为每次只能读取一行,所以要循环读取数据
  }
  myHttpFile->Close();
  delete []myHttpFile;
  mySession.Close();

CInternetSession::OpenURL函数原型为:

CStdioFile* OpenURL( LPCTSTR pstrURL, //文件URL地址
  DWORD dwContext = 1, //上下文ID
  DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, //标记
  LPCTSTR pstrHeaders = NULL, //发送到服务器的数据头
  DWORD dwHeadersLength = 0 );//发送到服务器的数据头长度

dwFlags可以为:
INTERNET_FLAG_RELOAD 强制重读数据
INTERNET_FLAG_DONT_CACHE 不保存到缓存
INTERNET_FLAG_TRANSFER_ASCII 使用文本数据
INTERNET_FLAG_TRANSFER_BINARY 使用二进制数据

不知道为什么这个函数当只用一个或者两个参数时不会报错,用三个或者按原形就会报错,但是用一个或者两个当页面更新时,不能获取到最新的数据(默认总是先检查缓存是否有要的数据)

第二种:

首先引用:

#import named_guids
using namespace MSXML2;

 CString resaa; 

 IXMLHTTPRequestPtr httpRes;
  HRESULT hr=httpRes.CreateInstance("MSXML2.XMLHTTP");
  if(!SUCCEEDED(hr))  
  {  
   AfxMessageBox("无法创建XMLHTTP对象,请检查是否安装了MS XML运行库!");  
  }

 LPCTSTR url="http://localhost/changjun/asxml.asp";

  httpRes->open("Get",url,false,"","");
  httpRes->send();
  if((httpRes->readyState)==4)  //4时表示数据已加载完
  {
   resaa=httpRes->responseText.copy();
  }
  httpRes.Release();

用这种方式返回值的默认编码方式为UTF-8,所以除了Google中国的网页能正常显示,其他的页面都是乱码,本想将返回值重新编码,但水平所限,我没有成功,如果谁解决了这个问题,不要忘记告诉我啊


 

作者Blog:http://blog.csdn.net/werther161/
精彩推荐
今天你泄露了吗 网络个
黑反归来,重要通知!
hack菜鸟入门
VB 从零开始编外挂(完
IPC入侵全接触
QQ跨站漏洞巧利用,强
WinXP中CPU占用100%原
黑客新技术 灰鸽子巧妙
实例讲解 黑客入侵论坛
BMP文件格式分析
热门软件
网 友 评 论
关于我们 - 联系方式 - 招聘信息 - 合作伙伴 - 网站地图 - 广告服务 - 我要投稿 - 设为首页 - 加入收藏
黑色反击 力倡网络安全,崇尚互联共享,欢迎各种媒体转载我们的原创作品 [转载请注明出处]。
报障QQ:281873518,479748258 EMAIL:hf110.com@gmail.com 备案:苏ICP备05010002号