VC通过HTTP方式获取网页

VC++中CEF获取网页HTML frame的GetSource(CefRefPtr visitor)虽然不涉及与Render进程的交互,但也是异步的。GetSource只负责交代任务给visitor,然后继续执行后面的代码;而visitor执行获取HTML的任务,完成后回调visitor的visit方法。 阅读详情

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

第一种:

首先要包含这个头文件:#include <afxinet.h>

  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+" ";    //因为每次只能读取一行,所以要循环读取数据
  }
  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 <msxml4.dll> 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中国的网页能正常显示,其他的页面都是乱码,本想将返回值重新编码,但水平所限,我没有成功,如果谁解决了这个问题,不要忘记告诉我啊

VC环境下网页源代码获取与动态修改实战 在现代Web开发与自动化处理中,获取并修改网页源代码已成为一项基础而关键的技术能力。无论是用于数据采集、前端调试、内容重构还是自动化测试,掌握如何从目标网页中提取原始HTML结构,并对其进行程序化修改,都是IT从业者必须具备的核心技能之一。本章将系统性地介绍网页源代码获取的基本原理,包括HTTP协议的通信机制、客户端与服务器之间的请求响应模型,以及静态页面与动态页面在源码获取上的本质区别。 阅读详情

相关推荐

VisualC++实现的网络/网页爬虫程序源代码

这是一个用于下载Internet上网站的网页的程序,该程序的编程环境是VC6.0,你可以使用它把整个网站的页面都下载下来。可以保留这些数据给搜索引擎用。

VC++中使用使用winnet类获取网页内容

 2005-09-01VC++中使用使用winnet类获取网页内容 - [VC专栏]微软提供的Winnet类是一个应用层的网络通信组件,它可以使你的应用程序很容易的实现http、ftp、gopher等协议而不需要你去深入的了解协议本身的规范。而之前,如果要想做类似的应用,我们必须了解socket编程并且要对协议本身非常熟悉,哪怕是一个非常非常简单的程序。下面是codegur

guomei的专栏 1万+

VC++实现实时提取网页源代码

用VC实现实现实时提取网页完整源代码,在VC6.0下调试通过,定时实时抓取网页源代码。

vc 获取网页内容(HTTP)

     BOOL bResult = FALSE;    // 初始化WinInet 环境        HINTERNET hInternet = InternetOpen("CEHTTP", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL);        if(hInternet == NULL)        return ;        //

梦里花 8326

在VC6.0下可用的winhttp包

在VC6.0下可用的Winhttp包;包含:winhttp.h,winhttp.lib。

VC++抓取远程文件(URL网页的源代码)

内容索引:VC/C++源码,网络相关,远程  这是一个通过inet来获取网页内容的程序,远程获取文件内容,实际上是通过URL地址来得到指定地址下某文档的源代码,如截图示,一看便知,不过如果是一些文本类型的文件,也是能获取到的,只不过你需要输入的地址完全正确。

转:VC通过HTTP方式获取网页

在VC中通过HTTP方式获取网页,我试过好几种方式,但是都有问题,现将我用的两种虽然也有问题但基本可以实现的方式写出来,如果大家有更好的方式或者能解决我所遇到的问题,请告诉我:QQ158792331,邮箱:werther161@yahoo.com.cn第一种:首先要包含这个头文件:#include   CInternetSession mySession;  CHttpFile* myHttpFi

cnhome的专栏 1036

Docker篇——Docker常用命令大全!史上最全面的Docker命令,涵盖常规命令、镜像基本命令、容器基本命令以及常用其他命令,一篇文章速通!

本篇文章介绍的关于DOcker的命令非常全面,Docker常见的命令介绍完毕,涉及到的命令比较繁杂,希望大家可以收藏并坚持学习。后续还会持续更新相关技术点,敬请期待

我热爱学习,也乐于分享。无论是科技前沿的洞见,还是生活中的小技巧,我都会在这里与你分享。我相信,知识就是力量,而分享则能让这份力量得到更好的传递。 5747

VC通过HTTP方式获取网页 - 四度专栏 - 优快云Blog

在VC中通过HTTP方式获取网页,我试过好几种方式,但是都有问题,现将我用的两种虽然也有问题但基本可以实现的方式写出来,如果大家有更好的方式或者能解决我所遇到的问题,请告诉我:QQ158792331,邮箱:werther161@yahoo.com.cn 第一种: 首先要包含这个头文件:#include CInternetSession mySession; CHttpFile* myHt

qiuqiu173的专栏 794

10xGenomics Loupe Browser实战指南:从数据导入到细胞注释全流程解析

本文提供了10xGenomics Loupe Browser的实战指南,详细解析了从数据导入到细胞注释的全流程。作为一款强大的可视化工具,Loupe Browser能帮助研究者直观探索单细胞测序数据,通过交互式操作进行细胞选择、差异基因分析和细胞类型注释,是单细胞数据分析入门和结果验证的高效平台。

blue42的博客 453

Fluent 中多相流模型全面解析

3.颗粒或液滴在连续相中的运动:若关注颗粒或液滴在连续相中的运动轨迹、分布规律以及与连续相的相互作用,如喷雾干燥、气力输送等过程,Eulerian-Lagrangian 模型则是最佳选择。Eulerian-Eulerian 模型可以准确模拟气体在固体颗粒中的流动情况,包括颗粒的流化状态、气体与颗粒之间的传热传质过程,为气固流化床的优化设计和操作提供依据。通过该模型,可以了解混合器内不同位置的混合程度、颗粒的运动轨迹以及液固相间的相互作用,从而改进混合器的结构和操作条件,提高混合效率。

khhdp的博客 3087

VC++6.0 通过HTTP方式获取网页

 最近做了个项目,用VC开发,很有技术难度,习惯了Java开发,VC都忘差不多啦,呵呵~ 为了吃饭,硬着头皮也得做下去啊。项目里面用到了获取网页数据,需要http header 来验证客户端合法性,找了些资料,都有问题。还是自己写吧,用 CInternetSession//头部包含afxinet.h #include CInternetSession::OpenURL函数原型为: CS

muzi_yun的专栏 3905

用MATLAB从零实现六足机器人步态仿真:交替三角与波动步态保姆级教程

本文详细介绍了如何使用MATLAB从零实现六足机器人的两种经典步态仿真:交替三角支撑步态和波动步态。通过参数定义、相位设置、运动轨迹生成和三维可视化等步骤,帮助读者掌握六足机器人步态规划的核心技术。教程包含完整代码和详细解析,适合机器人爱好者和相关专业学生学习实践。

weixin_26765363的博客 229

VC获取网页源码的三种方式

VC获取网页源码的三种方式 //有三种方法 '方法一(只适用于MFC工程): //参数URL:网页地址 //返回CString就是网页源码 //返回的网页源码是UTF8格式,要转成ANSI等编码才能正常显示 #include CString GetWebSource(CString URL) {     CInternetSession Session(NULL,0);

wjhtu_csdn的博客 1146

一分钟理解 AP(Affinity Propagation) 亲和⼒传播算法

这篇博客发出来后,我用 Rust 复现代码出现问题。为此,我对对照了 sklearn 的相关代码,反复比较了两天,发现一处 bug,把 += 误写成了 =,导致数据量大的时候完全无法聚类。这个debug过程让我仔细梳理的 AP 算法的计算过程,今天我对这篇博客做了大规模修改,以便能原样展现原论文思想。

程序猿视角 3219

python抓取美团外卖的数据(商家、评分、评论)

本文详细介绍了如何使用Selenium和抓取美团外卖的商家、评分和评论数据。我们从基础的爬虫原理入手,分析了美团外卖的网页结构,提出了应对反爬虫机制的策略,并给出了详细的代码实现。通过使用Selenium,我们能够绕过动态加载内容的限制,直接抓取网页中的商家信息和评论。结合多线程和代理池等技术,我们可以进一步提高爬虫效率,并避免IP被封禁。未来,随着爬虫技术的发展,我们可以进一步探索深度抓取、数据清洗和数据分析等高级应用,以实现更智能的网页数据抓取。

2201_76125261的博客 2700

VC驿站《VC++实战HTTP之POST》教程

来自:http://www.cctry.com/thread-244667-1-1.html VC驿站微信公众订阅号:cctry2009 VC驿站相关 精华帖子、原创文章、Vip课程更新通知、活动T楼通知等等,第一时间通知大家, 还等什么?赶快关注吧! -----------------------------------------------------------

net_syc的专栏 1万+

R语言中的混淆矩阵(Confusion Matrix)是一种常用的评估多分类模型性能的工具

除了准确率,混淆矩阵还提供了其他有用的指标,如灵敏度(Sensitivity)、特异度(Specificity)、精确度(Precision)和召回率(Recall)。混淆矩阵通过比较模型预测结果与实际标签的一致性,帮助我们了解模型的分类准确性和错误类型。此外,混淆矩阵还提供了各种错误类型的统计信息,如假阳性(False Positive)和假阴性(False Negative)等。通过混淆矩阵,我们可以了解模型的整体性能和错误类型,从而对模型进行评估和改进。最后,为了更好地理解混淆矩阵的结果,可以使用。

HackSquad的博客 972

VC++6.0 通过HTTP方式获取网页 OpenURL(转)

//头部包含afxinet.h 2 #include &lt;afxinet.h&gt; 3 CInternetSession::OpenURL函数原型为: 4 CStdioFile* OpenURL( LPCTSTR pstrURL, //文件URL地址 5 DWORD dwContext = 1, //上下文ID 6 DWORD dwFlags = INTERNET_FLAG_TRA...

haodawei123的博客 1547

跨境电商产品信息抓取:使用Python爬虫进行市场分析

跨境电商平台是指为不同国家和地区的买卖双方提供在线交易服务的电子商务平台。亚马逊(Amazon):全球最大的电商平台之一,提供丰富的商品种类和全球配送服务。eBay:全球知名的在线拍卖和购物网站,支持个人和企业卖家。速卖通(AliExpress):阿里巴巴旗下的跨境电商平台,主要面向全球消费者提供中国制造的商品。Wish:以移动端为主的跨境电商平台,主打低价商品和个性化推荐。这些平台上的商品数据包括商品名称、价格、销量、用户评价、库存等信息,对于市场分析具有重要价值。

2201_76125261的博客 1233

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

vc中的html代码,vc++获取网页源码

使用IWinHttpRequest获取网页源码首先要创建基于对话框的mfc应用程序,2.import+接口方式首先导入winhttp.dll,使用IWinHttpRequest接口#import "C:\\Windows\\System32\\winhttp.dll"voidCHttpTestDlg::OnBnClickedButton1(){::CoInitialize(NULL);//初始化c...

weixin_39942474的博客 916

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

VC++通过HTTP方式获取网页源代码

在浏览网页的时候,我们通过右键操作即可查看网页的源代码,这个功能要是在VC++中该如何实现呢?下面我们就来看看如何在VC++中查看网页的源代码。 CStdioFile* OpenURL( LPCTSTR pstrURL, //准备打开的URL地址                  DWORD dwContext = 1, //上下文ID                  DWORD dw

zbx91的专栏 1940

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: vc 网络编程(socket)
下一篇: VC中ListCtrl经验总结
keepAction
博客等级 码龄15年 28粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值