CInternetSession

使用類CInternetSession 創建並初始化一個或多個同時的Internet 會話。如果需要,還可描述與代理伺服器的連線。

CInternetSession

CObject
└CInternetSession

如果Internet連線必須在套用過程中保持著,可創建一個類CWinApp的CInternetSession成員。一旦已建立起Internet 會話,就可調用OpenURL。CInternetSession會通過調用全局函式AfxParseURL來為分析映射URL。無論協定類型如何,CInternetSession 解釋URL並管理它。它可處理由URL資源“file://”標誌的本地檔案的請求。如果傳給它的名字是本地檔案,OpenURL 將返回一個指向CStdioFile對象的指針。

如果使用OpenURL在Internet伺服器上打開一個URL,你可從此處讀取信息。如果要執行定位在伺服器上的指定的服務(例如,HTTP,FTP或Gopher)行為,必須與此伺服器建立適當的連線。直接打開與指定的伺服器的指定的類型的連線,請使用下列成員函式:

·GetGopherConnection 打開與Gopher服務的連線。
·GetHttpConnection打開與HTTP服務的連線。
·GetFtpConnection打開與FTP服務的連線。

QueryOption和SetOption允許設定會話的查詢選項,如逾時值、再試次數等等。

Internet會話過程中,象查找或數據下載這樣的事務處理會占用一定的時間。使用者可能想繼續工作,或獲得事務處理進程的狀態信息。為解決這個問題,CInternetSession可以讓查找和數據傳輸異步發生,允許使用者在傳輸結束時進行其它任務。如果要為使用者提供狀態信息,或異步處理任意操作,必須設定三個條件:

· 在構造函式中,dwFlags必須包括INTERNET_FLAG_ASYNC。
·在構造函式中,dwContext必須設定為1。
·必須通過調用EnableStatusCallback來建立回調函式。

使用覆蓋成員函式OnStatusCallback來獲得異步獲取的狀態信息。使用此覆蓋成員函式,必須從CInternetSession派生你自己的類。

注意:

CInternetSession將為不支持的服務類型產生一個AfxThrowNotSupportedException。當前只支持下列服務類型:FTP,HTTP,Gopher和檔案。

#include <afxinet.h>

請參閱:

CInternetConnection, CHttpConnection, CFtpConnection, CGopherConnection

CInternetSession類的成員

構造函式

CInternetSession 構造一個CInternetSession對象

屬性

QueryOption 為錯誤檢查提供可能的斷言
SetOption為Internet會話設定選項
OpenURL文法分析映射並打開一個URL
GetFtpConnection打開一個與伺服器的FTP會話。寫入用戶日誌
GetHttpConnection為試圖打開連線的套用打開一個HTTP伺服器
GetGopherConnection為試圖打開連線的套用打開一個Gopher伺服器
EnableStatusCallback建立一個狀態回調例程。異步操作需要EnableStatusCallback
ServiceTypeFromHandle從Internet句柄中得到伺服器類型

操作

GetContext 為Internet或套用會話獲得上下文的值
Close當Internet會話終止時關閉Internet連線
SetCookie為指定的URL設定小程式
GetCookie返回指定的URL的小程式及其所有父URL
GetCookieLength獲取確定存儲在緩衝區的小程式的長度的變數

可覆蓋的函式

OnStatusCallback 當狀態回調有效時,更新操作狀態

操作符

operator HINTERNET 當前Internet會話的句柄

相關詞條

相關搜尋

熱門詞條

聯絡我們