编写使用MFC WinInet选件类的Internet客户端应用程序
每个 Internet 客户端应用程序的基础是 Internet 会话。MFC 实现 Internet 会话另存为类 CInternetSession对象。使用此类,可以创建一个 Internet 会话或多个同时会话。
若要与服务器通信,您需要 CInternetConnection 对象以及 CInternetSession。使用 CInternetSession::GetFtpConnection、 CInternetSession::GetHttpConnection或 CInternetSession::GetGopherConnection,可以创建 CInternetConnection 。每个调用特定于协议类型。这些调用不打开服务器上的文件读取或写入的。如果要读取或写入数据,必须打开文件,在一个单独的步骤。
对于大多数 Internet 会话, CInternetSession 对象使与 CInternetFile 对象一起使用:
对于 Internet 会话,必须创建 CInternetSession实例。
如果您的 Internet 会话读取或写入数据,必须创建 CInternetFile 实例 (或其子类、 CHttpFile 或 CGopherFile)。最简单的方法读取数据将调用 CInternetSession::OpenURL。此函数分析您提供的一个统一资源定位器 (URL) (url),打开包含 URL 指定的服务器的连接,并返回一个只读 CInternetFile 对象。CInternetSession::OpenURL 不针对某个协议类型 —同一调用任何 FTP、 HTTP 或地鼠的 URL 工作。CInternetSession::OpenURL 即使使用本地文件使用 (返回 CStdioFile 而不是 CInternetFile)。
如果您的 Internet 会话未读取或写入数据,但是,在 FTP 目录执行其他任务,如删除文件,您可能不需要创建 CInternetFile实例。
有两种创建 CInternetFile 对象:
如果使用 CInternetSession::OpenURL 生成您的服务器连接,对 OpenURL 的调用返回 CStdioFile。
如果使用 CInternetSession::GetFtpConnection、 GetGopherConnection或 GetHttpConnection 生成您的服务器连接时,必须调用单个 CFtpConnection::OpenFile、 CGopherConnection::OpenFile或 CHttpConnection::OpenRequest, ,返回 CInternetFile、 CGopherFile或 CHttpFile,分别。
在实现 Internet 客户端应用程序的步骤根据您是创建基于 OpenURL 的通用 Internet 客户端或使用一个 GetConnection 功能的其他协议特殊化客户端。