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

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

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

对于多数 Internet 会话,CInternetSession 对象的工作使与 CInternetFile 对象:

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

  • 如果 Internet 会话读取或写入数据,必须创建 CInternetFile 实例 (或其子类、CHttpFileCGopherFile)。 易于读取数据的方法将调用。CInternetSession::OpenURL 此函数分析本地资源定位器您提供的 URL 打开 (URL),与服务器的连接以指定的,并且返回一只读的 CInternetFile 对象。 CInternetSession::OpenURL 并非特定于一个协议类型 - 任何 FTP、HTTP 或地鼠 URL 的同一调用工作。 CInternetSession::OpenURL 甚至包含本地文件 (返回 CStdioFile 而非 CInternetFile)。

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

可以使用下列两种方法创建 CInternetFile 对象:

  • 如果使用 CInternetSession::OpenURL 生成服务器连接,调用 OpenURL 返回 CStdioFile

  • 如果使用 CInternetSession::GetFtpConnectionGetGopherConnectionGetHttpConnection 生成服务器连接,必须调用单个 CFtpConnection::OpenFileCGopherConnection::OpenFileCHttpConnection::OpenRequest, 返回,CInternetFileCGopherFileCHttpFile

在 Internet 实现客户端应用程序的步骤更改取决于您是创建基于 OpenURL 的一般 Internet 客户或使用某一 GetConnection 函数的协议特定的客户。

您想进一步了解什么?

请参见

概念

Win32 Internet 扩展 (WinInet)

用于创建 Internet 客户端应用程序的 MFC 类

Internet 客户端类的必备条件