CHttpFile::SendRequestEx
HTTP サーバーに要求を送信するには、このメンバー関数を呼び出します。
BOOL SendRequestEx(
DWORD dwTotalLen,
DWORD dwFlags = HSR_INITIATE,
DWORD_PTR dwContext = 1
);
BOOL SendRequestEx(
LPINTERNET_BUFFERS lpBuffIn,
LPINTERNET_BUFFERS lpBuffOut,
DWORD dwFlags = HSR_INITIATE,
DWORD_PTR dwContext = 1
);
パラメーター
dwTotalLen
要求で送信するバイト数。dwFlags
操作を表すフラグ。適切なフラグの一覧については、Windows SDKの HttpSendRequestEx を参照してください*。*dwContext
CHttpFile 操作のコンテキストの識別子。このパラメーターに関する詳細については、"解説"を参照してください。lpBuffIn
入力バッファーを記述する初期化された INTERNET_BUFFERS へのポインターは、操作のために使用する。lpBuffOut
出力バッファーを記述する初期化された INTERNET_BUFFERS へのポインターは、操作のために使用する。
戻り値
成功した場合は。呼び出しが失敗した場合、CInternetException のスローされたオブジェクトを調べることにより、エラーの原因を判断します。
解説
この関数は [書き込み] を使用してデータと CInternetFileの WriteString のメソッドを送信するようにアプリケーションができます。この関数のいずれかのオーバーライドを呼び出す前に送信するデータの長さを知っている必要があります。最初の関数は、送信する場所データの長さを指定できるようにします。2 番目のオーバーライドによって、詳細でバッファーを記述するために使用できる INTERNET_BUFFERS の構造体へのポインターを受け取ります。
コンテンツがファイルに書き込まれた操作を終了したら、呼び出し EndRequest。
dwContext の既定値は CHttpFile のオブジェクトを作成した CInternetSession のオブジェクトから CHttpFile のオブジェクトに MFC に送られます。CHttpFile のオブジェクトを構築するに CInternetSession::OpenURL か CHttpConnection を呼び出すときに特定の値のコンテキストの識別子を設定する既定値をオーバーライドできます。コンテキストの識別子は CInternetSession::OnStatusCallback に識別されるオブジェクトの状態を提供するために戻ります。コンテキストの識別子の詳細については、" " インターネットの対処方法: WinInet を参照してください。
例外
このメソッドは、型 **CInternetException***の例外をスローできます。
使用例
このコードは LOCALHOST サーバーの MFCISAPI.DLL という名前の DLL に文字列の内容を送信します。この例で WriteStringに 1 回呼び出すだけ使用しますが、複数の呼び出しを使用してブロックのデータを送信することも使用できます。
CString strData = _T("Some very long data to be POSTed here!");
pServer = session.GetHttpConnection(_T("localhost"));
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,
_T("/MFCISAPI/MFCISAPI.dll?"));
pFile->SendRequestEx(strData.GetLength());
pFile->WriteString(strData);
pFile->EndRequest();
必要条件
Header: afxinet.h