- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13 章 Internet编程概述
13.1 Internet编程概述
13.2 WinInet类的使用
13.3 ISAPI的使用
返回主目录
第13章 Internet编程概述
13.1 Internet编程概述
随着网络的发展,国际互联网上的应用越来越多,如WWW
浏览器、电子邮件、文件传输、网上电子商务、网络游戏等。
网络编程也成为Visual C++程序设计的一个重要组成部分。
目前Visual C++ 6.0支持的网络编程有三种方式:一种是
WinInet ,主要用来创建互联网客户端应用程序,使互联网与任
何应用融为一个整体;一种是ISAPI ,用于编写Web服务器端的
应用接口,实现Web服务器与客户端浏览器的数据交换以及基于
Web 的网络应用;一种是Windows Socks 2 ,直接使用网络协议
接口,需要对网络协议细节有一定的了解,编写一些网络服务
器软件时需要使用。本章将介绍前两种方式。
*13.2 WinInet类的使用
13.2.1 WinInet简介
国际互联网客户端应用是一种应用程序,它使用诸如
HTTP 、FTP 等国际互联网协议,访问来自一个网络数据源
(服务器)的信息。微软的Win 32 Internet编程接口可以使应
用程序与Internet融为一体。 WININET.DLL 中包含了这些新
的功能,提供了HTTP 、FTP和Gopher等协议支持,用户可以
通过WinInet 下载HTML 页面,发送FTP请求,使用Gopher 的
菜单系统来访问Internet上的资源。
Visual C++ 的WinInet支持类库提供了一条高速简捷的途
径来生成网络应用,这些类库将HTTP 、FTP和Gopher等协议
抽象成一个高层的应用编程接口。通过该类库使用WinInet 函
数的功能更为便利,因为它们为用户做了所有工作。例如,
要连接到一个FTP服务器,直接使用WinInet 函数编程仍需经
过很多步骤,而使用MFC类库,用户只需调用一个
CInternetSession ::GetFTPConnection函数来创建连接即可。
13.2.2 一个简单的浏览器程序
本节利用MFC WinInet类库实现一个简单的浏览器。按照
下面的步骤来创建项目工程:
(1) 利用AppWizard创建一个基于对话框的应用程序,工
程名为 httptest ,AppWizard 将自动生成 httptest.cpp 、
httptestdlg.cpp等文件。
(2) 修改应用程序的对话框,AppWizard 自动生成一个带
有OK和Cancel按钮的对话框。在对话框中添加一个单行的文
本编辑框和一个多行的文本编辑框以及一个“浏览”按钮,它们
对应的字符串ID 为IDC_URLEDIT 、IDC_HTMLEDIT 、
ID_BROWSE ,然后删除OK和Cancel按钮。
(3) 使用ClassWizard 为httptestdlg 类增加成员m_url 、
m_htmlstr ,数据类型均为CString, 对应Control ID 分别为
IDC_URLEDIT 、IDC_HTMLEDIT 。
(4) 编写浏览按钮的单击事件响应程序:
#include afxinet.h
void CHttptestDlg::OnBrowse( )
{
// TODO: Add your control notification handler code here
char szBuff[1025];
int c;
UpdateData(TRUE);
CInternetSession session(My Session);
CStdioFile *pFile=NULL;
pFile=session.OpenURL(m_url);
文档评论(0)