次の方法で共有


HttpAddRequestHeadersA 関数 (wininet.h)

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

構文

BOOL HttpAddRequestHeadersA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwModifiers
);

パラメーター

[in] hRequest

HttpOpenRequest 関数の呼び出しによって返されるハンドル。

[in] lpszHeaders

要求に追加するヘッダーを含む文字列変数へのポインター。 各ヘッダーは、CR/LF (復帰/改行) ペアで終了する必要があります。

[in] dwHeadersLength

lpszHeadersのサイズ (TCHAR)。 このパラメーターが -1L の場合、lpszHeaders が 0 で終わる (ASCIIZ) と見なされ、長さが計算されます。

[in] dwModifiers

この関数のセマンティクスを制御する修飾子のセット。 このパラメーターには、次の値の組み合わせを指定できます。

価値 意味
HTTP_ADDREQ_FLAG_ADD
ヘッダーが存在しない場合は追加します。 HTTP_ADDREQ_FLAG_REPLACEで使用されます。
HTTP_ADDREQ_FLAG_ADD_IF_NEW
ヘッダーがまだ存在しない場合にのみ、ヘッダーを追加します。それ以外の場合は、エラーが返されます。
HTTP_ADDREQ_FLAG_COALESCE
同じ名前のヘッダーを結合します。
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
同じ名前のヘッダーを結合します。 たとえば、このフラグで "Accept: text/*" の後に "Accept: audio/*" を追加すると、単一ヘッダー "Accept: text/*, audio/*" が生成されます。 これにより、最初に見つかったヘッダーが結合されます。 結合されたヘッダーまたは個別のヘッダーに関するまとまりのあるスキームを確保するのは、呼び出し元のアプリケーションにかかっています。
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
セミコロンを使用して、同じ名前のヘッダーを結合します。
HTTP_ADDREQ_FLAG_REPLACE
ヘッダーを置換または削除します。 ヘッダー値が空で、ヘッダーが見つかった場合は削除されます。 空でない場合は、ヘッダー値が置き換えられます。

戻り値

成功した場合 TRUE を返し、それ以外の場合は FALSE 返します。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

HttpAddRequestHeaders は、HTTP 要求ハンドルに追加の自由形式ヘッダーを追加し、HTTP サーバーに送信される正確な要求を詳細に制御する必要がある高度なクライアントで使用することを目的としています。

基本的な HttpAddRequestHeadersの場合、アプリケーションは 1 つのバッファーに複数のヘッダーを渡すことができます。 アプリケーションがヘッダーを削除または置換しようとしている場合は、lpszHeaders1 つのヘッダーのみを指定できます。

httpAddRequestHeadersA 関数 は、ヘッダーを ANSI 文字ではなく ISO-8859-1 文字として表します。 HttpAddRequestHeadersW 関数は、ヘッダーを UTF-16LE 文字に変換された ISO-8859-1 文字として表します。 その結果、追加するヘッダーに非 ASCII 文字を含めることができる場合は、HttpAddRequestHeadersW 関数を使用しても安全ではありません。 代わりに、アプリケーションは multiByteToWideChar を使用し、Codepage パラメーターを 28591 に設定して WideCharToMultiByte 関数を して、ANSI 文字と UTF-16LE 文字の間でマップできます。
 
WinINet API の他のすべての側面と同様に、この関数は DllMain またはグローバル オブジェクトのコンストラクターとデストラクターから安全に呼び出すことはできません。
注意 WinINet では、サーバーの実装はサポートされていません。 また、サービスから使用しないでください。 サーバーの実装またはサービスの場合は、Microsoft Windows HTTP Services (WinHTTP)を使用します。
 

手記

wininet.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして HttpAddRequestHeaders を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー wininet.h
ライブラリ Wininet.lib
DLL Wininet.dll

関連項目

HTTP セッション

WinINet Functions の