CHttpConnection::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。
例外狀況可能會與這個函式一起值回。
需求
標頭 afxinet.h