共用方式為


CHttpConnection 類別

管理您與 HTTP 伺服器的連接。

語法

class CHttpConnection : public CInternetConnection

成員

公用建構函式

名稱 描述
CHttp連線ion::CHttp連線ion 建立 CHttpConnection 物件。

公用方法

名稱 描述
CHttp連線ion::OpenRequest 開啟 HTTP 要求。

備註

HTTP 是 MFC WinInet 類別實作的三種網際網路伺服器通訊協定之一。

類別 CHttpConnection 包含建構函式和一個成員函 式 OpenRequest ,可管理與 HTTP 通訊協定的伺服器連線。

若要與 HTTP 伺服器通訊,您必須先建立 CInternetSession 實例,然後建立 CHttp連線ion 物件。 您永遠不會直接建立 CHttpConnection 物件,而是呼叫 CInternetSession::GetHttp連線ion ,這會建立 CHttpConnection 物件並傳回它的指標。

若要深入瞭解如何使用 CHttpConnection 其他 MFC 網際網路類別,請參閱使用 WinInet 進行網際網路程式設計一文 。 如需使用其他兩種支援的網際網路通訊協定來連線到伺服器的詳細資訊,請參閱 CGopher連線ion CFtp連線ion 類別 。

繼承階層架構

CObject

CInternet連線ion

CHttpConnection

需求

標頭: afxinet.h

CHttp連線ion::CHttp連線ion

呼叫這個成員函式來建構 CHttpConnection 物件。

CHttpConnection(
    CInternetSession* pSession,
    HINTERNET hConnected,
    LPCTSTR pstrServer,
    DWORD_PTR dwContext);

CHttpConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 1);

CHttpConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    DWORD dwFlags,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 1);

參數

pSession
CInternetSession 物件的指標

h連線ed
網際網路連線的控制碼。

pstrServer
包含伺服器名稱之字串的指標。

dwCoNtext
物件的內容識別碼 CInternetConnection 。 如需 dwCoNtext 的詳細資訊 ,請參閱 節。

nPort
識別此連線之網際網路埠的數位。

pstrUserName
Null 終止字串的指標,指定要登入的使用者名稱。 如果為 Null,則預設值為匿名。

pstrPassword
Null 終止字串的指標,指定要用來登入的密碼。 如果 pstrPassword pstrUserName 都是 Null,則預設的匿名密碼是使用者的電子郵件名稱。 如果 pstrPassword 為 Null 或空字串,但 pstrUserName 不是 Null,則會使用空白密碼。 下表描述 pstrUserName pstrPassword 四種可能設定 的行為:

pstrUserName pstrPassword 傳送至 FTP 伺服器的使用者名稱 傳送至 FTP 伺服器的密碼
Null 或 」 Null 或 」 「anonymous」 使用者的電子郵件名稱
非 Null 字串 Null 或 」 pstrUserName " "
NULL 非 Null 字串 錯誤 錯誤
非 Null 字串 非 Null 字串 pstrUserName pstrPassword

dwFlags
旗標的任何組合 INTERNET_FLAG_* 。 如需 dwFlags 值的描述 ,請參閱 CHttp 的<備註> >一節 中的 表格連線ion::OpenRequest 。

備註

您永遠不會直接建立 CHttpConnection 。 相反地,您可以呼叫 CInternetSession::GetHttp連線ion 來建立物件。

CHttp連線ion::OpenRequest

呼叫此成員函式以開啟 HTTP 連線。

CHttpFile* OpenRequest(
    LPCTSTR pstrVerb,
    LPCTSTR pstrObjectName,
    LPCTSTR pstrReferer = NULL,
    DWORD_PTR dwContext = 1,
    LPCTSTR* ppstrAcceptTypes = NULL,
    LPCTSTR pstrVersion = NULL,
    DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);

CHttpFile* OpenRequest(
    int nVerb,
    LPCTSTR pstrObjectName,
    LPCTSTR pstrReferer = NULL,
    DWORD_PTR dwContext = 1,
    LPCTSTR* ppstrAcceptTypes = NULL,
    LPCTSTR pstrVersion = NULL,
    DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);

參數

pstrVerb
字串的指標,其中包含要求中使用的動詞。 如果為 Null,則會使用 「GET」。

pstrObjectName
字串的指標,包含指定動詞命令的目標物件。 此字串通常是檔案名、可執行模組或搜尋規範。

pstrReferer
字串的指標,指定從中取得要求中 URL 之檔的位址(URL)( pstrObjectName )。 如果為 Null,則未指定 HTTP 標頭。

dwCoNtext
作業的內容識別碼 OpenRequest 。 如需 dwCoNtext 的詳細資訊 ,請參閱一節。

ppstrAcceptTypes
以 Null 結束之 LPCTSTR 指標陣列的指標,指向表示用戶端所接受內容類型的字串。 如果 ppstrAcceptTypes 為 Null,伺服器會解譯用戶端只接受類型為 「text/*」 的檔(也就是只有文字檔,而不是圖片或其他二進位檔案)。 內容類型相當於 CGI 變數CONTENT_TYPE,可識別已附加資訊的查詢資料類型,例如 HTTP POST 和 PUT。

pstrVersion
定義 HTTP 版本的字串指標。 如果為 Null,則會使用 「HTTP/1.0」。

dwFlags
INTERNET_ FLAG_* 旗標的任何組合。 如需可能 dwFlags 值的描述,請參閱一節。

nVerb
與 HTTP 要求類型相關聯的數位。 可以是下列其中一項:

HTTP 要求類型 nVerb
HTTP_VERB_POST 0
HTTP_VERB_GET 1
HTTP_VERB_HEAD 2
HTTP_VERB_PUT 3
HTTP_VERB_LINK 4
HTTP_VERB_DELETE 5
HTTP_VERB_UNLINK 6

傳回值

要求的 CHttpFile 物件的指標

備註

dwFlags 可以是下列其中一項:

網際網路旗標 描述
INTERNET_FLAG_RELOAD 強制從源伺服器下載要求的檔案、物件或目錄清單,而不是從快取下載。
INTERNET_FLAG_DONT_CACHE 不會將傳回的實體新增至快取。
INTERNET_FLAG_MAKE_PERSISTENT 將傳回的實體新增至快取作為持續性實體。 這表示標準快取清除、一致性檢查或垃圾收集無法從快取中移除此專案。
INTERNET_FLAG_SECURE 使用安全的交易語意。 它會轉譯成使用 SSL/PCT,而且只有在 HTTP 要求中才有意義
INTERNET_FLAG_NO_AUTO_REDIRECT 僅搭配 HTTP 使用,指定不應該在 CHttpFile::SendRequest 自動處理重新導向。

覆寫預設值, dwContext 將內容識別碼設定為您選擇的值。 內容識別碼會與其 CInternetSession 物件所 建立之 CHttpConnection 物件的這個特定作業相關聯。 此值會傳回至 CInternetSession::OnStatusCallback ,以提供其識別作業的狀態。 如需內容識別碼的詳細資訊,請參閱網際網路第一個步驟:WinInet 一文

這個函式可能會擲回例外狀況。

另請參閱

CInternetConnection 類別
階層架構圖表
CInternetConnection 類別
CHttpFile 類別