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 服务器读取信息,就像从硬盘驱动器读取文件一样轻松。
不使用直接编程到 WinSock 或 TCP/IP 的 HTTP、FTP 和 gopher 协议。
使用 Win32 Internet 函数的开发人员不需要熟悉 TCP/IP 或 Windows 套接字。 你仍然可以在套接字级别直接使用 WinSock 和 TCP/IP 协议进行编程,但使用 MFC WinInet 类访问 Internet 上的 HTTP、FTP 和 gopher 协议更加容易。 对于许多常见作,开发人员不需要知道他们正在使用的特定协议的详细信息。
计算机可以作为 Internet 上其他计算机的客户端执行的许多作可能需要很长时间。 这些作的速度通常受网络连接速度的限制,但它们也可能受到其他网络流量和作复杂性的影响。 例如,连接到远程 FTP 服务器需要计算机首先查找该服务器的名称来查找其地址。 然后,应用程序将尝试连接到该地址的服务器。 打开连接后,计算机和远程服务器将启动与文件传输协议的对话,然后才能实际使用连接来检索文件。