使用 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 指定的服务器的连接并返回一个只读的CInternetFile
对象。CInternetSession::OpenURL
并不会特定于一种协议类型 - 同一调用适用于所有 FTP、HTTP 或 gopher 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
函数创建协议特定的客户端。
你想进一步了解什么
另请参阅
Win32 Internet 扩展 (WinInet)
用于创建 Internet 客户端应用程序的 MFC 类
Internet 客户端类的必备条件