使用 MFC WinInet 類別建立網際網路用戶端應用程式
每個網際網路用戶端應用程式的基礎是網際網路工作階段。 MFC 實作網際網路工作階段為 CInternetSession 類別的物件。 使用這個類別,您可以建立一個網際網路工作階段或多個同時執行的工作階段。
要與伺服器通訊,您需要 CInternetConnection 物件以及 CInternetSession。 您可以使用 CInternetSession::GetFtpConnection、 CInternetSession::GetHttpConnection或 CInternetSession::GetGopherConnection,建立 CInternetConnection 。 這些呼叫對應於每個專用的通訊協定類型。 這些呼叫不會在伺服器上開啟檔案作讀取或寫入。 如果您要讀取或寫入資料,您必須在不同的步驟開啟檔案。
對於大部分的網際網路工作階段, CInternetSession 物件與 CInternetFile 物件共同工作:
對於網際網路工作階段,您必須建立 CInternetSession 執行個體。
如果您的網際網路工作階段讀取或寫入資料,您必須建立 CInternetFile 執行個體 (或其子類別, CHttpFile 或 CGopherFile)。 讀取資料的最簡單的方法是呼叫 CInternetSession::OpenURL。 這個函式解析您提供的 Universal Resource Locator (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 函式建立通訊協定特定用戶端而定。