欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
CHttpFile

CHttpFile

CObject

 CFile

    CStdioFile

       CInternetFile

          CHttpFile


CHttpFile
提供向HTTP服務(wù)器中請求和讀取的功能。
如果Internet會(huì )話(huà)要從一個(gè)HTTP服務(wù)器中讀取數據,則必須構造一個(gè)CHttpFile實(shí)例。
#include <afxinet.h>

CHttpFile
類(lèi)的成員

構造函數

CHttpFile

構造一個(gè)CHttpFile對象

操作

AddRequestHeaders

添加發(fā)往HTTP服務(wù)器的請求頭

SendRequest

HTTP服務(wù)器發(fā)送請求

SendRequestEx

利用CInternetFileWriteWriteString方法向HTTP服務(wù)器發(fā)送請求

EndRequest

利用EndRequestEx的成員函數結束HTTP服務(wù)器的請求

QueryInfo

返回來(lái)自HTTP服務(wù)器的回答或請求頭

QueryInfoStatusCode

獲取與HTTP請求相關(guān)聯(lián)的狀態(tài)號,并將其放到提供的dwStatusCode 參數中

GetVerb

獲取用于對HTTP服務(wù)器的請求的動(dòng)詞

GetObject

獲取對HTTP服務(wù)器的請求中的動(dòng)詞的目標對象

GetFileURL

獲取指定文件的URL

Close

關(guān)閉CHttpFile并釋放其資源

CHttpFile::AddRequestHeaders

BOOL ADDRequestHeaders( LPCTSTR pstrHeaders, DWORD dwFlags =HTTP_ADDREQ_FLAG_ADD_IF_NEW, int dwHeadersLen = -1 );
BOOL ADDRequestHeaders( CString& str, DWORD dwFlags =HTTP_ADDREQ_FLAG_ADD_IF_NEW );

返回值:
如果成功,則返回非零值,否則為0。如果該調用失敗,Win32的函數GetLastError 會(huì )被調用,確定失敗的原因。

參數:

pstrHeaders

一個(gè)指向某字符串的指針,該字符串包含添加到請求中的頭。每個(gè)頭都必須以CR/LF結束。

dwFlags

修改新頭部的語(yǔ)義??赡転橐韵聨追N之一:

·

HTTP_ADDREQ_FLAG_COALESCE

利用標記來(lái)添加后續頭部的第一個(gè)頭部,從而合并相同名字的頭部。例如,“Accept:audio/*”后的“Accept: text/*”導致形成一個(gè)唯一的頭部“Accept:text/*,audio/*”??紤]到從與合并或獨立頭一起發(fā)送的請求中收到的數據,要靠調用應用來(lái)保證一個(gè)有內聚力的體制。

·

HTTP_ADDREQ_FLAG_REPLACE

執行移動(dòng)和添加,替換當前頭。頭名稱(chēng)將被用于移動(dòng)當前頭,全值將被用于添加新頭。如果頭部值為空且頭已被找到,則移走它。如果不為空,則頭值被替換。

·

HTTP_ADDREQ_FLAG_ADD_IF_NEW

如果不存在,則只需添加頭;如果有一個(gè)存在,則出錯返回。

·

HTTP_ADDREQ_FLAG_ADD

REPLACE一起使用。如果不存在,則添加頭。

dwHeadersLen

pstrHeaders的長(cháng)度,以字符計算。如果為-1L,則pstrHeaders被假定為是空終止的,且長(cháng)度已被計算出來(lái)了。

str

一個(gè)CString對象的參考,包含請求頭或者將被添加的頭。


說(shuō)明:
調用該成員函數,用來(lái)對HTTP請求操作添加一個(gè)或多個(gè)請求頭。AddRequestHeaders增加附加的、形式自由的頭到HTTP請求操作中。其往往被高級客戶(hù)使用,他們需要對發(fā)往HTTP服務(wù)器的指定的請求進(jìn)行具體控制。
注意:
對于使用HTTP_ADDREQ_FLAG_ADD或者HTTP_ADDREQ_FLAG_ADD_IF_NEWAddRequestHeaders的調用,應用可在pstrHeaders str中,一次傳遞多個(gè)頭。如果應用試圖使用HTTP_ADDREQ_FLAG_REMOVEHTTP_ADDREQ _FLAG_REPLACE來(lái)移動(dòng)或替換一個(gè)頭,則lpszHeaders中只能提供一個(gè)頭。

CHttpFile::CHttpFile

CHttpFile( HINTERNET hFile, HINTERNET hSession, LPCTSTR pstrObject, LPCTSTRpstrServer, LPCTSTR pstrVerb, DWORD dwContext );
CHttpFile( HINTERNET hFile, LPCTSTR pstrVerb, LPCTSTR pstrObject,CHttpConnection* pConnection );

參數:

hFile

Internet文件的句柄。

hSession

Internet會(huì )話(huà)的句柄。

pstrObject

一個(gè)指向包含CHttpFile對象名稱(chēng)的字符串的指針。

pstrServer

一個(gè)指向包含服務(wù)器名稱(chēng)的字符串的指針。

pstrVerb

一個(gè)指向某字符串的指針,該字符串包含在發(fā)送請求時(shí)將要使用的方法,可能為POST,HEADGET。

dwContext

一個(gè)CHttpFile對象的上下文標識符。請參閱說(shuō)明,以了解有關(guān)該參數的更多信息。

pConnection

一個(gè)指向CHttpConnection對象的指針。


說(shuō)明:
調用該成員函數來(lái)構造一個(gè)CHttpFile對象。
不能直接構造一個(gè)CHttpFile對象,但可以調用CInternetSession::OpenURLCHttpConnection::OpenRequest。
dwContext
的缺省值由MFC從創(chuàng )建此CHttpFile對象的CInternetSession對象發(fā)送到CHttpFile對象。當調用CInternetSession::OpenURL CHttpConnection 來(lái)構造一個(gè)CHttpFile對象時(shí),可覆蓋此缺省值,來(lái)設置你所選擇的值的上下文標識符。上下文標識符返回到CInternetSession::OnStatusCallback ,提供其所代表的對象狀態(tài)。

CHttpFile::Close

virtual void Close( );

說(shuō)明:
關(guān)閉CHttpFile 并釋放其資源。只有在對SendRequest的成功調用或者一個(gè)CHttpFile對象被 OpenURL成功創(chuàng )建后,才能使用該成員函數。

CHttpFile::EndRequest

BOOL EndRequest(DWORD dwFlags = 0, LPINTERNET_BUFFERS lpBuffln = NULL, DWORDdwContext = 1);
  throw(CInternetException);

返回值:
如果成功,則返回非零值,否則為0。如果此調用失敗,可通過(guò)檢查產(chǎn)生的CInternetException對象來(lái)確定錯誤原因。

參數:

dwFlags

描述此操作的標記。要了解適當標記的列表,請參閱聯(lián)機文檔“平臺SDK”中的HttpEndRequest。

lpBuffIn

指向描述此操作的輸入緩沖區的初始INTERNET_BUFFERS的指針。

dwContext

CHttpFile操作的上下文標識符。請參閱說(shuō)明,以了解此參數的更多信息。


說(shuō)明:
調用此成員函數來(lái)結束用成員函數發(fā)送HTTP服務(wù)器的請求。
dwContext
的缺省值由MFC從創(chuàng )建此CHttpFile對象的CInternetSession對象發(fā)送到CHttpFile對象。當調用CInternetSession::OpenURL CHttpConnection 來(lái)構造一個(gè)CHttpFile對象時(shí),可覆蓋此缺省值,來(lái)設置你所選擇的值的上下文標識符。上下文標識符返回到CInternetSession::OnStatusCallback ,提供其所代表的對象狀態(tài)。

CHttpFile::GetFileURL

virtual CString GetFileURL( ) const;

返回值:
一個(gè)CString對象,包含一個(gè)參照與本文件相關(guān)聯(lián)資源的URL。

說(shuō)明:
調用該成員函數,得到以URL表示的HTTP文件的名字。只有在對SendRequest的成功調用或者一個(gè)CHttpFile對象被OpenURL成功創(chuàng )建后,才能使用該成員函數。

CHttpFile::GetObject

CString GetObject( ) const;

返回值:一個(gè)包含對象名稱(chēng)的CString對象。

說(shuō)明:
調用該成員函數以了解與此CHttpFile相關(guān)聯(lián)的對象名稱(chēng)。只有在對SendRequest的成功調用或者一個(gè)CHttpFile對象被OpenURL成功創(chuàng )建后,才能使用該成員函數。

CHttpFile::GetVerb

CString GetVerb( ) const;

返回值:一個(gè)包含HTTP動(dòng)詞名的CString對象。

說(shuō)明:
調用該成員函數以了解與此CHttpFile相關(guān)聯(lián)的HTTP動(dòng)詞。只有在SendRequest 被成功調用或者一個(gè)CHttpFile對象被 OpenURL成功創(chuàng )建后,才能使用該成員函數。

CHttpFile::QueryInfo

BOOL QueryInfo( DWORD dwInfoLevel, LPVOID lpvBuffer, LPDWORD lpdwBufferLength,LPDWORD lpdwIndex = NULL ) const;
BOOL QueryInfo( DWORD dwInfoLevel, CString& str, LPDWORD dwIndex = NULL)const;
BOOL QueryInfo( DWORD dwInfoLevel, SYSTEMTIME* pSysTime, LPDWORD dwIndex = NULL) const;

返回值:
如果成功,則返回非零值,否則為0。如果此調用失敗,可通過(guò)調用Win32的函數GetLastError來(lái)確定錯誤原因。

參數:

dwInfoLevel

查詢(xún)屬性和下列指定所須信息標志的組合:

·

HTTP_QUERY_CUSTOM

查找頭名稱(chēng)并在輸出中返回lpvBuffer中的值。如果未找到,HTTP_QUERY_CUSTOM 產(chǎn)生斷言。

·

HTTP_QUERY_FLAG_REQUEST_HEADERS

是典型的,此應用查詢(xún)請求頭,但一個(gè)應用也可通過(guò)使用此標記查詢(xún)請求頭。

·

HTTP_QUERY_FLAG_SYSTEMTIME

對于那些值為日期/時(shí)間字符串的頭,如“Last-Modified-Time”,此標記返回如標準Win32SYSTEMTIME結構的頭值,而不需應用對數據進(jìn)行文法分析映射。如果使用了此標記,你可能要使用SYSTEMTIME 覆蓋此函數。

·

HTTP_QUERY_FLAG_NUMBER

對于那些值為數字的頭,如狀態(tài)號,此標記返回一個(gè)32位的數據。

請參閱說(shuō)明部分以了解可能值的列表。

lpvBuffer

一個(gè)指向用于接收信息的緩沖區的指針。

lpdwBufferLength

在入口處,這是指向一個(gè)用字節或位表示的包含數據緩沖區長(cháng)度的值。請參閱說(shuō)明部分以了解此參數的詳細信息。

lpdwIndex

一個(gè)指向基于零的頭索引的指針??梢詾?span lang="EN-US">NULL。使用此標記來(lái)枚舉同名的多個(gè)頭。對于輸入,lpdwIndex表示返回的指定的頭的索引。對于輸出,lpdwIndex 表示下一個(gè)頭的索引。如果此索引找不到,則返回ERROR_HTTP_HEADER_NOT_FOUND。

str

接收返回信息的CString對象的參考值。

dwIndex

一個(gè)索引值。請參閱lpdwIndex。

pSysTime

一個(gè)指向Win32 SYSTEMTIME結構的指針。


說(shuō)明:
調用此成員函數返回HTTP請求中的回答或請求頭。只有在SendRequest被成功調用或者一個(gè)CHttpFile對象被 OpenURL成功創(chuàng )建后,才能使用該成員函數。
你可從QueryInfo中獲取以下數據類(lèi)型:

·

strings (缺省)

·

SYSTEMTIME (對于“Data:”“Expires:”等)

·

DWORD (對于 STATUS_CODE,CONTENT_LENGTH等等)

當一個(gè)字符串被寫(xiě)入緩沖區,且成員函數成功時(shí),lpdwBufferLength 包含字符串的字節長(cháng)減一,去掉結束NULL字符的長(cháng)度。
可能的dwInfoLevel值包括:

·

HTTP_QUERY_MIME_VERSION

·

HTTP_QUERY_CONTENT_TYPE

·

HTTP_QUERY_CONTENT_TRANSFER_ENCODING

·

HTTP_QUERY_CONTENT_ID

·

HTTP_QUERY_CONTENT_DESCRIPTION

·

HTTP_QUERY_CONTENT_LENGTH

·

HTTP_QUERY_ALLOWED_METHODS

·

HTTP_QUERY_PUBLIC_METHODS

·

HTTP_QUERY_DATE

·

HTTP_QUERY_EXPIRES

·

HTTP_QUERY_LAST_MODIFIED

·

HTTP_QUERY_MESSAGE_ID

·

HTTP_QUERY_URI

·

HTTP_QUERY_DERIVED_FROM

·

HTTP_QUERY_LANGUAGE

·

HTTP_QUERY_COST

·

HTTP_QUERY_WWW_LINK

·

HTTP_QUERY_PRAGMA

·

HTTP_QUERY_VERSION

·

HTTP_QUERY_STATUS_CODE

·

HTTP_QUERY_STATUS_TEXT

·

HTTP_QUERY_RAW_HEADERS

·

HTTP_QUERY_RAW_HEADERS_CRLF



CHttpFile::QueryInfoStatusCode

BOOL QueryInfoStatusCode( DWORD& dwStatusCode ) const;

返回值:
如果成功,則返回非零值,否則為0。如果此調用失敗,可通過(guò)調用Win32的函數GetLastError來(lái)確定錯誤原因。

參數:

dwStatusCode

狀態(tài)號的參考值。狀態(tài)號標識請求事件是成功還是失敗。請參閱說(shuō)明部分,以了解狀態(tài)號的細節。


說(shuō)明:
調用此成員函數以獲得HTTP請求相關(guān)聯(lián)的狀態(tài)號并將其放到所提供的dwStatusCode 參數中。只有在SendRequest 被成功調用或者一個(gè)CHttpFile對象被 OpenURL成功創(chuàng )建后,才能使用該成員函數。
分組的HTTP 狀態(tài)號標識請求的成功或失敗。以下列表列出了狀態(tài)號組及大部分常用狀態(tài)號。

分組

含義

200-299

成功

300-399

信息

400-499

請求錯誤

500-599

服務(wù)器錯誤

常用的HTTP狀態(tài)號:

狀態(tài)號

含義

200

URL定位,接著(zhù)傳輸

400

不可理解的請求

404

所請求的URL未找到

405

服務(wù)器不支持所請求的方法

500

未知的服務(wù)器錯誤

503

已達到服務(wù)器容量


CHttpFile::SendRequest

BOOL SendRequest( LPCTSTR pstrHeaders = NULL, DWORD dwHeadersLen = 0, LPVOIDlpOptional = NULL, DWORD dwOptionalLen= 0 );
  throw(CInternetException);
BOOL SendRequest( CString& strHeaders, LPVOID lpOptional = NULL, DWORDdwOptionalLen = 0 );
  throw(CInternetException);

返回值:
如果成功,則返回非零值,否則為0。如果此調用失敗,可通過(guò)檢查產(chǎn)生的CInternetException對象來(lái)確定錯誤原因。

參數:

pstrHeaders

一個(gè)指向包含著(zhù)要發(fā)送的頭名稱(chēng)的字符串的指針。

dwHeadersLen

pstrHeaders指定的頭的長(cháng)度。

lpOptional

在請求頭后立即發(fā)送的任意選項數據。通常用于POSTPUT操作。如果沒(méi)有待發(fā)送的選項數據,則可能為NULL。

dwOptionalLen

lpOptional的長(cháng)度。

strHeaders

一個(gè)包含著(zhù)正被發(fā)送的請求的頭名稱(chēng)的字符串。


說(shuō)明:調用此成員函數以向HTTP服務(wù)器發(fā)送請求。


CHttpFile::SendRequestEx

BOOL SendRequestEx(DWORD dwTotalLen, DWORD dwFlags = HSR_INITIATE, DWORDdwContext = 1);
  throw(CInternetException);
BOOL SendRequestEx(LPINTERNET_BUFFERS lpBuffIn, LPINTERNET_BUFFERS lpBuffOut,DWORD dwFlags = HSR_INITIATE, DWORD dwContext = 1);
  throw(CInternetException);

返回值:
如果成功,則返回非零值,否則為0。如果此調用失敗,可通過(guò)檢查產(chǎn)生的CInternetException對象來(lái)確定錯誤原因。

參數:

dwTotalLen

請求中將被發(fā)送的字節數。

dwFlags

描述操作的標記。要了解適當標記的列表,請參閱聯(lián)機文檔“平臺SDK”中的HttpSendRequstEx。

dwContext

CHttpFile操作的上下文標識符。請參閱說(shuō)明部分關(guān)于此參數的更多信息。

lpBuffIn

一個(gè)指向描述操作中用到的輸入緩沖區的初始化了的INTERNET_BUFFERS的指針。

lpBufferOut

一個(gè)指向描述操作中用到的輸出緩沖區的初始化了的INTERNET_BUFFERS的指針。


說(shuō)明:
調用此成員函數來(lái)向一個(gè)HTTP 服務(wù)器發(fā)送請求。此函數允許應用使用CInternetFileWriteWriteString來(lái)發(fā)送數據。在調用任一此函數的覆蓋前,必須知道發(fā)送的數據長(cháng)度。第一個(gè)覆蓋允許確定你要發(fā)送的數據長(cháng)度。第二個(gè)覆蓋接收指向INTERNET_BUFFERS結構的指針,它可以用來(lái)詳細地描述緩沖區。
當內容已被寫(xiě)入文件時(shí),調用EndRequest來(lái)結束此操作。
dwContext
的缺省值由MFC從創(chuàng )建此CHttpFile對象的CInternetSession對象發(fā)送到CHttpFile對象。當調用CInternetSession::OpenURL CHttpConnection 來(lái)構造一個(gè)CHttpFile對象時(shí),可覆蓋此缺省值,來(lái)設置你所選擇的值的上下文標識符。上下文標識符返回到CInternetSession::OnStatusCallback ,提供其所代表的對象狀態(tài)。請參閱聯(lián)機文檔“Visual C++程序員指南”中的“Internet初步:WinInet”,以了解有關(guān)上下文標識符的更多信息。

示例:
此代碼段發(fā)送一個(gè)字符串的內容到名為ISAPIDLL 中,DLL在服務(wù)器中為MOOSEBOY。此示例對WriteString的調用只有一個(gè),但可以使用多個(gè)來(lái)發(fā)送成塊數據。
CString strData = "Some very long data to be POSTed here!";
pServer = sess.GetHttpConnection("mooseboy");
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/isapi.dll?");
pFile->SendRequestEx(strData.GetLength());
pFile->WriteString(strData);
pFile->EndRequest();

 

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
一個(gè)簡(jiǎn)單的鏈表模版類(lèi)的實(shí)現
WinInet類(lèi)使用
VC++文件操作之最全篇
CFileFind用法
MFC文件讀寫(xiě)之ini文件
我的大蚌殼
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久