CHttpFile::AddRequestHeaders

更新 : 2007 年 11 月

HTTP 要求ハンドルに 1 つ以上の HTTP 要求ヘッダーを追加します。

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 
);

パラメータ

  • pstrHeaders
    ヘッダーまたは要求に追加するヘッダーが入っている文字列へのポインタ。各ヘッダーは、CR/LF で終了する必要があります。

  • dwFlags
    新規ヘッダーの内容を変更します。次のいずれかの値を指定します。

    • HTTP_ADDREQ_FLAG_COALESCE   先頭ヘッダーを後続のヘッダーへ追加することで、同じ名前のヘッダーをマージします。たとえば、"Accept: text/*" の後に "Accept: audio/*" が続く場合、結果の単一ヘッダーは "Accept: text/*, audio/*" になります。結合したヘッダーまたは別のヘッダーで送信された要求が受信するデータに関する結合方式の保証は、呼び出し元アプリケーション側で行います。

    • HTTP_ADDREQ_FLAG_REPLACE   削除と追加を行って、現在のヘッダーを置き換えます。現在のヘッダーを削除するにはヘッダー名が使用されます。新規ヘッダーの追加にはヘッダー全体が使用されます。検索されたヘッダーの header-value が空だと、ヘッダーは削除されます。空でない場合、header-value は置き換えられます。

    • HTTP_ADDREQ_FLAG_ADD_IF_NEW   ヘッダーが存在しない場合、ヘッダーを追加します。存在している場合、エラーを返します。

    • HTTP_ADDREQ_FLAG_ADD   REPLACE と一緒に使用します。ヘッダーが存在しない場合、追加します。

  • dwHeadersLen
    pstrHeaders の長さを文字数で表します。これが -1L の場合、pstrHeaders は 0 で終わる文字列と見なされて、長さが計算されます。

  • str
    要求ヘッダーまたは追加されるヘッダーが格納されている CString オブジェクトへの参照。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。呼び出しに失敗した場合は、Win32 の関数 GetLastError を呼び出してエラーの原因を調査できます。

解説

AddRequestHeaders は、追加のフリーフォーマット ヘッダーを HTTP 要求ハンドルに追加します。これは、HTTP サーバーに正確な要求を送るために細かい制御を必要とするクライアントが使用することを前提としています。

x0sdt84e.alert_note(ja-jp,VS.90).gifメモ :

アプリケーションは、AddRequestHeaders の呼び出し 1 回に対して、HTTP_ADDREQ_FLAG_ADD または HTTP_ADDREQ_FLAG_ADD_IF_NEW を使用することによって、pstrHeaders または str で複数のヘッダーを渡すことができます。アプリケーションが、HTTP_ADDREQ_FLAG_REMOVE または HTTP_ADDREQ_FLAG_REPLACE を使用してヘッダーの削除または置き換えを行う場合、lpszHeaders には 1 つのヘッダーだけを供給できます。

必要条件

ヘッダー : afxinet.h

参照

参照

CHttpFile クラス

階層図

CInternetFile クラス

その他の技術情報

CHttpFile のメンバ