每個因特網用戶端應用程式的基礎都是因特網會話。 MFC 會將因特網會話實作為 CInternetSession 類別的物件。 使用此類別,您可以建立一個因特網會話或數個同時會話。
若要與伺服器通訊,您需要 CInternetConnection 物件以及 CInternetSession
。 您可以使用 CInternetConnection
、CInternetSession::GetHttpConnection 或 CInternetSession::GetGopherConnection 來建立 。 這些呼叫都是通訊協議類型特有的。 這些呼叫不會在伺服器上開啟檔案以供讀取或寫入。 如果您想要讀取或寫入數據,您必須以個別步驟開啟檔案。
對於大部分的因特網會話, CInternetSession
物件會與 CInternetFile 物件手牽手運作:
針對因特網會話,您必須建立 CInternetSession 的實例。
如果您的因特網會話讀取或寫入數據,您必須建立
CInternetFile
實例(或其子類別 、CHttpFile 或 CGopherFile)。 讀取數據最簡單的方式是呼叫 CInternetSession::OpenURL。 此函式會剖析您提供的通用資源定位器(URL),開啟 URL 所指定伺服器的連線,並傳回只讀CInternetFile
物件。CInternetSession::OpenURL
不是一個通訊協議類型特有的 ,相同的呼叫適用於任何 FTP、HTTP 或 gopher URL。CInternetSession::OpenURL
甚至可與本機檔案搭配使用(傳CStdioFile
回 而非CInternetFile
)。如果您的因特網會話未讀取或寫入數據,但會執行其他工作,例如刪除 FTP 目錄中的檔案,您可能不需要建立 的
CInternetFile
實例。
有兩種方式可以建立 CInternetFile
物件:
如果您使用
CInternetSession::OpenURL
建立伺服器連線,則呼叫OpenURL
會傳回一個CStdioFile
。如果使用
CInternetSession::GetFtpConnection
、GetGopherConnection
或GetHttpConnection
來建立您的伺服器連線,您必須分別呼叫CFtpConnection::OpenFile
、CGopherConnection::OpenFile
或CHttpConnection::OpenRequest
來分別傳回CInternetFile
、CGopherFile
或CHttpFile
。
實作因特網用戶端應用程式的步驟會因您使用其中OpenURL
一個函式建立一般因特網用戶端GetConnection
或通訊協定特定用戶端而有所不同。