HTTP GET的三种方式
来源:互联网 发布:网络市场监管系统 编辑:程序博客网 时间:2024/06/17 17:23
一.第一种方式(包装类的方式)
a.在VC++添加类,选择typelib
b.选择文件:C:\Windows\System32\winhttp.dll
选择到右边生成的类,最后点完成,即产生了一个CWinhttpRequest类
------剩余具体步骤-----------------------------------------
//1.初始化COM组件
//2.创建组件对象指针
//3.实例化
//----------
//4.open(pHttpReq->Open(_T("GET"),_T("http://pan.baidu.com"
),Async);)
//5.send(pHttpReq->Send(vtMissing);)
//6.Response(pHttpReq->get_ResponseText())
//----------
//7.释放实例化
//8.删除对象指针
//9.卸载COM组件
//初始化COM组件::CoInitialize(nullptr);CWinHttpRequest *pHttpReq = new CWinHttpRequest();BOOL bret = pHttpReq->CreateDispatch(_T("WinHttp.WinHttpRequest.5.1")/*__uuidof(WinHttpRequest)*/);if (!bret){return ;}COleVariant asyn = VARIANT_FALSE;pHttpReq->Open(_T("GET"),_T("http://pan.baidu.com"),asyn);pHttpReq->Send(vtMissing);CString str = pHttpReq->get_ResponseText();MessageBox(str);pHttpReq->ReleaseDispatch();delete pHttpReq;::CoUninitialize();
二.第二种方式( import+接口方式)
接口:IWinHttpRequest
#import "C:\\Windows\\System32\\winhttp.dll"
::CoInitialize(nullptr);IWinHttpRequest *pHttpReq = nullptr;HRESULT hr = CoCreateInstance(__uuidof(WinHttpRequest),nullptr,CLSCTX_ALL,__uuidof(IWinHttpRequest),(LPVOID*)&pHttpReq);if (FAILED(hr)){::CoUninitialize();return ;}hr = pHttpReq->Open(_T("GET"),_T("https://mail.qq.com/cgi-bin/loginpage"));if (FAILED(hr)){pHttpReq->Release();::CoUninitialize();return ;}hr = pHttpReq->Send();if (FAILED(hr)){pHttpReq->Release();::CoUninitialize();return ;}CString strText = pHttpReq->ResponseText;MessageBox(strText);pHttpReq->Release();::CoUninitialize();
三.第三种方式( import+智能指针包装类的方式)
::CoInitialize(nullptr);IWinHttpRequestPtr pHttpReq = nullptr;HRESULT hr = pHttpReq.CreateInstance(__uuidof(WinHttpRequest));if (FAILED(hr)){::CoUninitialize();return ;}hr = pHttpReq->Open(_T("GET"),_T("https://mail.qq.com/cgi-bin/loginpage"));if (FAILED(hr)){//pHttpReq.Release();::CoUninitialize();return ;}hr = pHttpReq->Send();if (FAILED(hr)){//pHttpReq.Release();::CoUninitialize();return ;}CString strText = pHttpReq->ResponseText;MessageBox(strText);//pHttpReq.Release();::CoUninitialize();}
0 0
- HTTP GET的三种方式
- Android----用HTTP的get,post,HttpClient三种方式向web service提交文本数据
- Android之用HTTP的get,post,HttpClient三种方式向service提交文本数据
- Android之使用HTTP的get,post,HttpClient三种方式向服务器端提交文本数据
- Android之使用HTTP的get,post,HttpClient三种方式向服务器端提交文本数据
- HTTP的get,post,HttpClient三种方式向服务器端提交文本数据
- Http GET的传输方式
- [Android开发]Android之使用HTTP的get,post,HttpClient三种方式向服务器端提交文本数据
- Http协议编程的三种方式
- angular的http三种请求方式
- 两种HTTP连接方式POST&GET的比较
- 两种HTTP连接方式POST&GET的比较
- 两种HTTP连接方式POST&GET的比较
- http get 方式参数的长度限制
- HTTP请求方式的区别get/post
- HTTP get和post方式的区别
- http get 方式参数的长度限制
- Http的Get和Post方式详解
- STM32 USART 串口 DMA 接收和发送的源码详解!
- python chr(i)
- 运行shell脚本报错: syntax error near unexpected token `'\r''
- 腾讯云CentOS7.2 PHP-SDK镜像服务器根目录(腾讯云微信小程序服务端Demo -PHP 页面根目录)
- Amazon EC2学习笔记(一)
- HTTP GET的三种方式
- 内存池
- snprintf函数用法
- Android系统中标准Intent的使用
- 大话数据结构一:线性表的顺序存储结构
- NY12 格式转化成RGB格式
- 链表两两交换节点
- Activity在onResume里调用getIntent()拿不到数据
- CSMA/CD协议