VC++6.0 通过HTTP方式获取网页
来源:互联网 发布:淘宝联盟订单查询 编辑:程序博客网 时间:2024/05/16 17:58
项目里面用到了获取网页数据,需要http header 来验证客户端合法性,找了些资料,都有问题。还是自己写吧,用 CInternetSession
//头部包含afxinet.h
#include <afxinet.h>
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 使用二进制数据
//获取网页的方法代码如下
CString getURLContext(LPCTSTR pstrURL)
{
//自定义http头信息
char* headers="Accept:*/*/r/n"
"Accept-Language:zh-cn/r/n"
"User-Agent:VCTestClient/r/n";
CString m_strHTML;
try
{
CInternetSession sess;//建立会话
CHttpFile* pF=(CHttpFile*)sess.OpenURL(pstrURL,1,INTERNET_FLAG_TRANSFER_ASCII||INTERNET_FLAG_RELOAD,headers,strlen(headers));//打开文件
注意:OpenURL 方法的dwFlags参数 必须选择传输模式为INTERNET_FLAG_TRANSFER_ASCII 或者 INTERNET_FLAG_TRANSFER_BINARY
CString szData,szAllData;
while(pF->ReadString(szData))
{
//读取文件
szAllData+="/r/n";
szAllData+=szData;
}
pF->Close();
sess.Close();
m_strHTML=szAllData;
}
catch(CException *e)
{
AfxMessageBox("获取数据失败");
}
return m_strHTML;
}
希望能对需要的朋友有帮助。
- VC++6.0 通过HTTP方式获取网页
- VC++6.0 通过HTTP方式获取网页
- VC通过HTTP方式获取网页
- 转:VC通过HTTP方式获取网页
- VC通过HTTP方式获取网页
- VC通过HTTP方式获取网页
- VC++通过HTTP方式获取网页源代码
- VC++6.0 通过HTTP方式获取网页 OpenURL
- VC通过HTTP方式获取网页 - 四度专栏 - CSDNBlog
- vc 获取网页内容(HTTP)
- vc 获取网页内容(HTTP)
- VC++获取某个http网页内容
- vc中如何通过http的post方式上传文件
- VC获取网页源码的三种方式
- VC获取网页源码的三种方式
- VC获取网页源码的三种方式
- java 通过http方式获取返回的数据
- 通过HTTP方式获取URL返回结果数据(Java)
- 网页游戏SWF文件之加密实现过程(一)
- C# 生成随即验证码图片类库
- hibernate深蓝课堂笔录_1101_精简版
- 生成随即验证码图片
- 程序中时间的计算
- VC++6.0 通过HTTP方式获取网页
- hdu 2435(最小割 --dinic模板-- 最大流)
- iBATIS课堂笔录_1001
- jsp_servlet课堂笔录_1001
- [Script]EBS里查看模块的版本、文件的版本信息
- spring课堂笔录_1001
- struts2课堂笔录_1001
- struts2课堂笔录_1001_精简版
- C# 托盘程序 实例 双击显示窗体,最小化到托盘