1.在MFC项目名称上 右击->添加->选择Visual C++下的MFC->TypeLib中的MFC类->添加

可以从注册表表中共或是文件中根据相应的接口生成对应的包装类

效果图:

代码:

#include "CWinHttpRequest.h"
void CHttpTestDlg::OnBnClickedButton1()
{
CoInitialize(NULL); //com组件初始化
//CWinHttpRequest httpReq;
BOOL bRet;
CWinHttpRequest *pHttpReq = NULL;
pHttpReq = new CWinHttpRequest();
/*CLSID clsid;
CLSIDFromProgID(_T("WinHttp.WinHttpRequest.5.1"), &clsid);
bRet = pHttpReq->CreateDispatch(clsid);*/
bRet = pHttpReq->CreateDispatch( _T("WinHttp.WinHttpRequest.5.1")); //创建IWinHttpRequest组件
if (!bRet)
{
CoUninitialize();
return;
} COleVariant varAsync = VARIANT_FALSE;
pHttpReq->Open(_T("GET"), _T("http://www.baidu.com"),varAsync); //建立连接
VARIANT varBody = vtMissing;
pHttpReq->Send(varBody); // 发送请求
CString respStr = pHttpReq->get_ResponseText(); // 获取响应的源代码
MessageBox(respStr); // 显示 pHttpReq->DetachDispatch(); //释放组件对象
delete pHttpReq; // 释放IWinHttpRequest对象
CoUninitialize(); // 卸载com组件
}

vc++获取网页源码之使用类型库(TypeLib)生成包装类的更多相关文章

  1. vc++获取网页源码

    1. 获取网页源码的步骤: com组件的初始化 创建WinHttpRequest对象 创建并实例化WinHttpRequest组件 调用Open方法打开连接 调用Send方法发送请求 使用Respon ...

  2. vc++获取网页源码之使用import+接口方式

    1.使用IWinHttpRequest获取网页源码 首先要创建基于对话框的mfc应用程序 2.import+接口方式 首先导入winhttp.dll,使用IWinHttpRequest接口 #impo ...

  3. vc++获取网页源码之使用import+智能指针包装类

    创建基于对话框的mfc应用程序 使用智能指针包装类IWinHttpRequestptr,它内部采用的是引用计数来管理对象的生命周期 代码: #import "C:\\Windows\\Sys ...

  4. Python爬虫学习之获取网页源码

    偶然的机会,在知乎上看到一个有关爬虫的话题<利用爬虫技术能做到哪些很酷很有趣很有用的事情?>,因为强烈的好奇心和觉得会写爬虫是一件高大上的事情,所以就对爬虫产生了兴趣. 关于网络爬虫的定义 ...

  5. C语言之socket获取网页源码

    写爬虫也许你用的是python,类似urlopen(url).read()即可获得普通的网页的源码,或者用的java的网络库加上流操作,或者其他高级语言.但你有没有想过使用C语言来实现呢?我曾经以为用 ...

  6. QT:轻松获取网页源码

    获取网页源码的小例子,代码很简单,就不多作解释了. 不过一定要注意网页的编码问题,否则会出现乱码的!!! #include <QtCore> #include <QtNetwork& ...

  7. 高效获取网页源码COM

    目前获取网页源码有几种方法: 1.WebClient下载页面2.HttpWebRequest发请求获取3.com组件xmlhttp获取 三者比较:WebClient代码最少,效率最慢:xmlhttp代 ...

  8. Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

    Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...

  9. Python3.x获取网页源码

    Python3.x获取网页源码 1,获取网页的头部信息以确定网页的编码方式: import urllib.request res = urllib.request.urlopen('http://ww ...

随机推荐

  1. 论container的前世今生

    why Normally, thin-client multitiered applications are hard to write because they involve many lines ...

  2. ZOJ 1007:Numerical Summation of a Series(数学)

    Numerical Summation of a Series Time Limit: 10 Seconds      Memory Limit: 32768 KB      Special Judg ...

  3. 在学习linux基础入门时的一些问题总结(1)

    本周在实验楼完成了<linux基础入门>的21个实验,虽然之前已经学习过linux的相关课程,对linux下的命令也有一些了解和实践,但完成这21个实验以及35个练习题仍然遇到了许多的问题 ...

  4. C++学习(六)(C语言部分)之 输出

    输出学习时的笔记(其实也没什么用,留着给自己看的) printf 用于输出内容 控制台黑窗口printf("要输出的内容"); //可以是任意内容-->如果要输出变量 1.格 ...

  5. json/pickle模块(序列化)

    什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 为什么要序列化? 你打游戏过程中,打累了,停下来,关掉游戏.想 ...

  6. 2017-2018-2 20165313实验二《Java面向对象程序设计》

    实验报告封面 实验内容及步骤 实验一 1.试验要求: 参考 (http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST) 完成单元测试的学习. ...

  7. day 04 Java并发多线程

    http://www.cnblogs.com/hellocsl/p/3969768.html?utm_source=tuicool&utm_medium=referralPS:而JVM 每遇到 ...

  8. vue中在页面渲染完之后获取元素(否则动态渲染的元素获取不到)

    两种方法: 方法一: 使用$nextTick,在异步获得数据之后再获取元素: 方法二: 在then之后再获取该元素: 问题2:vue中监听改变数组的方法: let idx =; this.listIn ...

  9. nginx屏蔽某一ip的访问

    假设我们想禁止访问nginx次数最多的ip访问我们的网站 我们可以先查出那个ip访问次数最多 awk '{print $1}' nginx.access.log |sort |uniq -c|sort ...

  10. Cassandra如何保证数据最终一致性

    Cassandra如何保证数据最终一致性:1.逆熵机制(Anti-Entropy)使用默克尔树(Merkle Tree)来确认多个副本数据一致,对于不一致数据,根据时间戳来获取最新数据. 2.读修复机 ...