使用 MFC WinInet 类编写 Internet 客户端应用程序

每个 Internet 客户端应用程序的基础是 Internet 会话。 MFC 将 Internet 会话实现为 类 CInternetSession 的对象。 使用此类,可以创建一个 Internet 会话或多个同时会话。

若要与服务器通信,需要 一个 CInternetConnection 对象以及一个 CInternetSession。 可以使用 CInternetSession::GetFtpConnectionCInternetSession::GetHttpConnectionCInternetSession::GetGopherConnection 创建 aCInternetConnection。 每个调用都特定于协议类型。 这些调用不会在服务器上打开文件进行读取或写入。 如果要读取或写入数据,则必须以单独的步骤打开该文件。

对于大多数 Internet 会话,该 CInternetSession 对象与 CInternetFile 对象一起工作:

  • 对于 Internet 会话,必须创建 CInternetSession 实例。

  • 如果 Internet 会话读取或写入数据,则必须创建(或其子类、CHttpFileCGopherFile)的CInternetFile实例。 读取数据的最简单方法是调用 CInternetSession::OpenURL。 此函数分析你提供的通用资源定位符(URL),打开与 URL 指定的服务器的连接,并返回只读 CInternetFile 对象。 CInternetSession::OpenURL 不特定于一种协议类型 , 同一调用适用于任何 FTP、HTTP 或 gopher URL。 CInternetSession::OpenURL甚至适用于本地文件(返回而不是CStdioFile返回)。CInternetFile

  • 如果 Internet 会话不读取或写入数据,但执行其他任务,例如删除 FTP 目录中的文件,则可能需要创建一 CInternetFile个实例。

可通过两种方式创建 CInternetFile 对象:

  • 如果用于 CInternetSession::OpenURL 建立服务器连接,则调用返回 OpenURL 一个 CStdioFile

  • CInternetSession::GetFtpConnection如果使用、GetGopherConnectionGetHttpConnection建立服务器连接,则必须分别调用CFtpConnection::OpenFileCGopherConnection::OpenFileCHttpConnection::OpenRequest分别返回、CInternetFileCGopherFileCHttpFile。。

实现 Internet 客户端应用程序的步骤因是基于某个函数还是 OpenURL 基于 GetConnection 协议特定的客户端创建通用 Internet 客户端而异。

想要详细了解哪些内容

另请参阅

Win32 Internet 扩展 (WinInet)
用于创建 Internet 客户端应用程序的 MFC 类
Internet 客户端类的先决条件