WinInet 如何简化 Internet 客户端应用程序的创建

利用 Win32 Internet 扩展或 WinInet 可访问常见 Internet 协议(包括 gopher、FTP 和 HTTP)。 利用 WinInet,可以按更高的编程级别编写 Internet 客户端应用程序,而无需处理 WinSock、TCP/IP 或特定 Internet 协议的详细信息。 WinInet 为这三种协议提供一组一致的函数,其中包含熟悉的 Win32 API 接口。 如果基础协议更改(例如从 FTP 更改为 HTTP),这种一致性可最大程度地减少所需的代码更改。

Visual C++ 提供了两种使用 WinInet 的方法。 可直接调用 Win32 Internet 函数(有关详细信息,请参阅 Windows SDK 中的 OLE 文档),也可通过 MFC WinInet 类使用 WinInet。

可使用 WinInet 执行以下操作

  • 下载 HTML 页面。

    HTTP 协议用于将 HTML 页面从服务器传输到客户端浏览器。

  • 发送 FTP 请求以上传/下载文件或获取目录列表。

    典型的请求是匿名登录以下载文件。

  • 使用 gopher 的菜单系统访问 Internet 上的资源。

    菜单项可以是多种类型,其中包括其他菜单、可搜索的索引数据库、新闻组或文件。

在这三种协议中,你会建立连接、向服务器发出请求并关闭连接。

MFC WinInet 类简化了以下操作

  • 从 HTTP、FTP 和 gopher 服务器上读取信息,就像从硬盘上读取文件一样容易。

  • 使用 HTTP、FTP 和 gopher 协议,无需直接对 WinSock 或 TCP/IP 进行编程。

    使用 Win32 Internet 功能的开发人员不需要熟悉 TCP/IP 或 Windows 套接字。 你仍然可以在套接字级别编程(直接使用 WinSock 和 TCP/IP 协议),但使用 MFC WinInet 类访问 Internet 上的 HTTP、FTP 和 gopher 协议更加容易。 对于许多常见的操作,开发人员不需要知道其正在使用的特定协议的详细信息。

许多可由你的计算机充当客户端对 Internet 上其他计算机执行的操作可能需要很长时间。 这些操作的速度通常受到网络连接速度的限制,但也可能受到其他网络流量和操作复杂性的影响。 例如,连接到远程 FTP 服务器需要计算机首先查找该服务器的名称以找到其地址。 然后,应用程序将尝试连接到该地址的服务器。 建立连接后,计算机和远程服务器将发起与文件传输协议的对话,然后你才能实际使用该连接来检索文件。

另请参阅

Win32 Internet 扩展 (WinInet)
MFC 如何简化 Internet 客户端应用程序的创建