Steamworks ドキュメンテーション
ISteamHTTP Interface
HTTPクライアントを使用しWebからデータを送受信するための小さく簡単なAPIです。

メンバー関数

ISteamHTTPのメンバー関数は、グローバルのアクセサー関数SteamHTTP()経由で呼び出されます。

CreateCookieContainer

HTTPCookieContainerHandle CreateCookieContainer( bool bAllowResponsesToModify );
名前説明
bAllowResponsesToModifyboolサーバーがこのコンテナーにCookieを設定できるかどうかを設定します。

Cookieコンテナーを作成し、プロセスの期間中、Cookieを保管します。

これはプロセス期間中のみのAPIで、Steamの再起動後Cookieは保持されず、プロセスを繰り返し実行した場合、Cookieコンテナーにアクセスする方法はありません。

bAllowResponsesToModifytrueの場合、このCookieコンテナーを使用するリクエストへの任意の応答により、コンテナーに新規のCookieが追加され、将来のリクエストで送信される可能性があります。 falseの場合、明示的に設定したCookieのみ送信されます。

SetHTTPRequestCookieContainerを使ってCookieコンテナーをHTTPリクエストに関連付け、 SetCookieを使ってCookieを設定できます。

メモリリークを防ぐために、完了後はReleaseCookieContainerを呼び出して、コンテナーを解放することをお忘れなく!

戻り値: HTTPCookieContainerHandle
SteamHTTP関数への将来の呼び出しに使用される新しいCookieコンテナーハンドルを返します。

CreateHTTPRequest

HTTPRequestHandle CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL );
名前説明
eHTTPRequestMethodEHTTPMethodこのリクエストで作成するリクエストのタイプ。
pchAbsoluteURLconst char *要求するURL。 「http://」または「https://」で開始する必要があります。

新しいHTTP要求を初期化します。

GETやPOSTなどのメソッドと、リクエストの絶対URLが必要です。 httpとhttpsはどちらもサポートされています。この文字列は「http://」または「https://」から始まる必要があるので、「http://store.steampowered.com/app/10/」のような形式となります。 この呼び出しは、セットアップするために呼び出してから、SendHTTPRequestSendHTTPRequestAndStreamResponseを使用してHTTPリクエストを送信するためのハンドルを返します。

メモリリークを防ぐために、完了後はReleaseHTTPRequestを呼び出して、HTTP要求を解放することをお忘れなく!

戻り値: HTTPRequestHandle
SteamHTTP関数の今後の呼び出しに使用する新しい要求ハンドルを返します。 pchAbsoluteURLNULLまたは空欄("")の場合、INVALID_HTTPREQUEST_HANDLEを返します。

DeferHTTPRequest

bool DeferHTTPRequest( HTTPRequestHandle hRequest );
名前説明
hRequestHTTPRequestHandle延期する要求ハンドル。

既に送信されたリクエストをキューの後に移動することで延期します。

戻り値: bool
リクエストが正常に延期された場合trueを返します。 hRequestが無効なハンドルの場合、またはリクエストが送られていなかった場合は、false

こちらも参照してください: SendHTTPRequest, SendHTTPRequestAndStreamResponse

GetHTTPDownloadProgressPct

bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut );
名前説明
hRequestHTTPRequestHandleダウンロード率を取得するための要求ハンドル。
pflPercentOutfloat *呼び出しが成功した場合、ダウンロード率を返します。

要求のボディのダウンロードの進行具合を取得します。

content-lengthフィールドを含む応答ヘッダーがすでに受信されていない限り、これはゼロになります。 content-lengthを含まない応答の場合、接続が閉じるまでサイズが不明であるため、要求の期間中はゼロが報告されます。

戻り値: bool
ダウンロード率が正常に返された場合、成功時にtrueを返します。 ハンドルが無効な場合やpflPercentOutNULLの場合には、falseを返します。

GetHTTPRequestWasTimedOut

bool GetHTTPRequestWasTimedOut( HTTPRequestHandle hRequest, bool *pbWasTimedOut );
名前説明
hRequestHTTPRequestHandle失敗理由を確認するための要求ハンドル。
pbWasTimedOutbool *要求がタイムアウトしたかどうかを返します。

リクエストが失敗した理由が、より難しい失敗ではなく、タイムアウトしたためなのか確認します。

m_bRequestSuccessfulfalseの場合、 HTTPRequestCompleted_tのコンテキスト内で呼び出す必要があります。

戻り値: bool
確認が正常だった場合、成功時にtrueを返します。
次の状況でfalseを返します:
  • hRequestが無効。
  • リクエストは送信済みか完了していません。

GetHTTPResponseBodyData

bool GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize );
名前説明
hRequestHTTPRequestHandle応答のボディデータを取得するための要求ハンドル。
pBodyDataBufferuint8 *データがコピーされるバッファー。
unBufferSizeuint32これはバイト単位でのpBodyDataBufferのサイズである必要があります。

HTTP応答からボディデータを取得します。

これは、HTTP要求完了後に、この要求ハンドルに関連付けられたHTTPRequestCompleted_t呼び出し結果を介してHTTP応答を返した後に呼び出す必要があります。 最初にGetHTTPResponseBodySizeを呼び出すか、または呼び出し結果で提供されるm_unBodySize変数を使用する必要があります。その後、バッファーにそのサイズを割り当て、この関数に渡します。

これはSendHTTPRequestで送信されたHTTP要求専用です。 SendHTTPRequestAndStreamResponseを介してストリーミングHTTP要求を使用している場合は、GetHTTPStreamingResponseBodyDataを使用します。

戻り値: bool
成功した場合、pBodyDataBufferがボディデータで正常に埋められたことを示すtrueを返します。
それ以外の場合は、以下の状況においてfalseを返します:
  • hRequestが無効。
  • リクエストが送信済みではないか、完了していない。
  • リクエストがストリーミングリクエスト。
  • pBodyDataBufferNULL
  • unBufferSizeGetHTTPResponseBodySizeで提供されたサイズと異なる。

GetHTTPResponseBodySize

bool GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *unBodySize );
名前説明
hRequestHTTPRequestHandle応答のボディのサイズを取得するための要求ハンドル。
unBodySizeuint32 *応答のボディのサイズを返します。

HTTP応答からボディデータのサイズを取得します。

これは、HTTP要求完了後に、この要求ハンドルに関連付けられたHTTPRequestCompleted_tまたはHTTPRequestDataReceived_tを介してHTTP応答を返した後に呼び出す必要があります。 これが正常に返された場合、GetHTTPResponseBodyData、またはGetHTTPStreamingResponseBodyDataから取得したデータを保存するために、指定されたサイズのバッファーを割り当てることができます。

戻り値: bool
成功した場合、unBodySizeがサイズで正常に埋められたことを示すtrueを返します。
それ以外の場合は、以下の状況においてfalseを返します:
  • hRequestが無効。
  • リクエストが送信済みではないか、完了していない。
  • unBodySizeNULL

GetHTTPResponseHeaderSize

bool GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize );
名前説明
hRequestHTTPRequestHandle応答ヘッダー名を確認するための要求ハンドル。
pchHeaderNameconst char *確認するヘッダー名。
unResponseHeaderSizeuint32 *応答内に存在する場合は、応答ヘッダーのサイズを返します。

HTTP応答のヘッダーの有無を調べ、そのサイズを返します。

これは、HTTP要求完了後に、この要求ハンドルに関連付けられたHTTPRequestCompleted_t呼び出し結果を介してHTTP応答を返した後に呼び出す必要があります。 応答内に応答ヘッダーが存在する場合は、GetHTTPResponseHeaderValueに関連付けられた値を取得するために、適切なサイズのバッファーを割り当てることができます。

標準応答ヘッダー名のリストはwikipediaを参照してください。

戻り値: bool
ヘッダー名が応答内に存在し、unResponseHeaderSizeがヘッダー値のサイズで埋められている場合は、trueを返します。
それ以外は、以下の状況でfalseを返し、unResponseHeaderSize0を設定します:
  • hRequestが無効。
  • リクエストが送信済みではないか、完了していない。
  • pchHeaderNameNULL
  • unResponseHeaderSizeNULL
  • 応答内にヘッダー名がない。

GetHTTPResponseHeaderValue

bool GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize );
名前説明
hRequestHTTPRequestHandle応答ヘッダー値を取得するための要求ハンドル。
pchHeaderNameconst char *ヘッダー値を取得するヘッダー名。
pHeaderValueBufferuint8 *値がコピーされるバッファー。
unBufferSizeuint32これはバイト単位での pHeaderValueBufferのサイズである必要があります。

HTTP応答からヘッダーの値を取得します。

これは、HTTP要求完了後に、この要求ハンドルに関連付けられたHTTPRequestCompleted_t呼び出し結果を介してHTTP応答を返した後に呼び出す必要があります。 最初にGetHTTPResponseHeaderSizeを呼び出して、ヘッダーの有無を確認し、サイズを取得します。 その後、バッファーにそのサイズを割り当て、この関数に渡します。

標準応答ヘッダー名のリストはwikipediaを参照してください。

戻り値: bool
成功した場合、pHeaderValueBufferがヘッダーの値で正常に埋められたことを示すtrueを返します。
それ以外の場合は、以下の状況においてfalseを返します:
  • hRequestが無効。
  • リクエストが送信済みではないか、完了していない。
  • pchHeaderNameNULL
  • pHeaderValueBufferNULL
  • 応答内にヘッダー名がない。
  • unBufferSizeが値を保持するのに十分な大きさでない。

GetHTTPStreamingResponseBodyData

bool GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize );
名前説明
hRequestHTTPRequestHandle応答のボディデータを取得するための要求ハンドル。
cOffsetuint32HTTPRequestDataReceived_tによって提供されるオフセットである必要があります。
pBodyDataBufferuint8 *このバッファーにコピーして、データを返します。
unBufferSizeuint32HTTPRequestDataReceived_tで提供されたサイズである必要があります。

ストリーミングHTTP応答からボディデータを取得します。

これは、この要求ハンドルに関連付けられたHTTPRequestDataReceived_tコールバックを介して、ストリーミングHTTP要求からデータを受信した後に呼び出す必要があります。 通常、HTTPRequestHeadersReceived_t経由でヘッダーを受信する際に、データの合計サイズを受信するには、Content-Length HTTP応答フィールドを使用して要求ハンドルに関連付けられたバッファーを割り当てる必要があります。 その後、データが入ってきたらバッファーにデータを追加できます。

これはSendHTTPRequestAndStreamResponseで送信されたストリーミングHTTP要求専用です。 SendHTTPRequestを使用している場合は、 GetHTTPResponseBodyDataを使用します。

戻り値: bool
成功した場合、pBodyDataBufferがボディデータで正常に埋められたことを示すtrueを返します。
それ以外の場合は、以下の状況においてfalseを返します:
  • hRequestが無効。
  • リクエストが送信済みではないか、完了していない。
  • リクエストがストリーミングリクエストではない。
  • cOffsetHTTPRequestDataReceived_tによって提供されたオフセットと異なる。
  • unBufferSizeHTTPRequestDataReceived_tで提供されたサイズと異なる。

PrioritizeHTTPRequest

bool PrioritizeHTTPRequest( HTTPRequestHandle hRequest );
名前説明
hRequestHTTPRequestHandle優先順位を付けるための要求ハンドル。

キューの先頭に移動することによって送信済みのリクエストの優先順位を上げます。

戻り値: bool
リクエストが正しく優先順位付けされた場合、trueを返します。 hRequestが無効なハンドルの場合、またはリクエストが送られていなかった場合は、false

こちらも参照してください: SendHTTPRequest, SendHTTPRequestAndStreamResponse

ReleaseCookieContainer

bool ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer );
名前説明
hCookieContainerHTTPCookieContainerHandle解放するCookieコンテナーハンドル。

Cookieコンテナーを解放し、Steam内で割り当てられたメモリを解放します。

CreateCookieContainer経由で取得した各HTTPCookieContainerHandleの使用後に、これを呼び出す必要があります。

戻り値: bool
ハンドルが解放されていればtrueを返し、ハンドルが無効の場合はfalseを返します。

ReleaseHTTPRequest

bool ReleaseHTTPRequest( HTTPRequestHandle hRequest );
名前説明
hRequestHTTPRequestHandle解放する要求ハンドル。

HTTP要求ハンドルを解放し、Steam内で割り当てられたメモリを解放します。

CreateHTTPRequest経由で取得した各HTTPRequestHandleの使用後に、これを呼び出す必要があります。

戻り値: bool
ハンドルが正常に解放されていればtrueを返し、ハンドルが無効な場合にのみfalseを返します。

SendHTTPRequest

bool SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle );
名前説明
hRequestHTTPRequestHandle送信する要求ハンドル。
pCallHandleSteamAPICall_t *応答を受け取るための呼び出し結果ハンドルを返します。

HTTP要求を送信します。

この呼び出しは非同期であり、呼び出し結果ハンドルを提供します。呼び出し完了までの追跡には、このハンドルを使用する必要があります。 実行中、同時に複数のリクエストがある場合は、PrioritizeHTTPRequest、またはDeferHTTPRequestを使用してリクエストに優先順位を付けることができます。

ユーザーがSteamでオフラインモードの場合、これにより「キャッシュされた場合にのみキャッシュ制御を実行」のヘッダーが追加され、実際にリモート要求を送信するのではなく、ローカルキャッシュルックアップのみ行います。

大きいデータが想定される場合は、SendHTTPRequestAndStreamResponseを使用してデータをチャンクで配信できます。

戻り値: bool
HTTPRequestCompleted_tコールバックをトリガーします。
パラメーターが正常に設定された場合はtrueを返します。
以下の状況でfalseを返します:
  • hRequestが無効。
  • リクエストが送信済み。
  • pCallHandleNULL

SendHTTPRequestAndStreamResponse

bool SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle );
名前説明
hRequestHTTPRequestHandle送信する要求ハンドル。
pCallHandleSteamAPICall_t *応答を受け取るための呼び出し結果ハンドルを返します。

HTTP要求を送信し、応答をチャンクで配信します。

この呼び出しは非同期であり、呼び出し結果ハンドルを提供します。呼び出し完了までの追跡には、このハンドルを使用する必要があります。 通常、HTTPRequestHeadersReceived_t経由でヘッダーを受信する際に、データの合計サイズを受信するには、Content-Length HTTP応答フィールドを使用して要求ハンドルに関連付けられたバッファーを割り当てる必要があります。 その後、データが入ってきたらバッファーにデータを追加できます。

実行中、同時に複数のリクエストがある場合は、PrioritizeHTTPRequest、またはDeferHTTPRequestを使用してリクエストに優先順位を付けることができます。

ユーザーがSteamでオフラインモードの場合、これにより「キャッシュされた場合にのみキャッシュ制御を実行」のヘッダーが追加され、実際にリモート要求を送信するのではなく、ローカルキャッシュルックアップのみ行います。

想定するデータのサイズが小さい(数メガバイト以下)場合は、SendHTTPRequestを使用します。

戻り値: bool
HTTPRequestDataReceived_tコールバックをトリガーします。
HTTPRequestHeadersReceived_tコールバックをトリガーします。
HTTPRequestCompleted_tコールバックをトリガーします。
パラメーターが正常に設定された場合はtrueを返します。
以下の状況においてはfalseを返します:
  • hRequestが無効。
  • リクエストが送信済み。
  • pCallHandleNULL

SetCookie

bool SetCookie( HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie );
名前説明
hCookieContainerHTTPCookieContainerHandleCookieを設定するCookieコンテナー。
pchHostconst char *このCookieを設定するホスト。
pchUrlconst char *このCookieを設定するURL。
pchCookieconst char *設定するCookie。

将来のリクエストで使用される指定のCookieコンテナーにCookieを追加します。

戻り値: bool
Cookieが正常に設定されるとtrueを返します。 要求ハンドルが無効の場合、またはCookie解析でセキュリティ上の問題があった場合はfalseを返します。

SetHTTPRequestAbsoluteTimeoutMS

bool SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, uint32 unMilliseconds );
名前説明
hRequestHTTPRequestHandleタイムアウトを設定するための要求ハンドル。
unMillisecondsuint32ミリ秒単位でのタイムアウト時間の長さ。

HTTP要求の絶対タイムアウトをミリ秒単位で設定します。

これは、SetHTTPRequestNetworkActivityTimeoutで設定されるネットワークアクティビティのタイムアウトとは異なるタイムアウトの合計時間です。より多くのデータを取得するたびに増加します。

戻り値: bool
タイムアウトが正常に設定された場合はtrueを返します。
次の状況でfalseを返します:
  • hRequestが無効。
  • リクエストが送信済み。

SetHTTPRequestContextValue

bool SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64 ulContextValue );
名前説明
hRequestHTTPRequestHandleコンテキスト値を設定するための要求ハンドル。
ulContextValueuint64設定するコンテキスト値。

リクエストのコンテキスト値を設定します。これは、リクエストの送信後にHTTPRequestCompleted_tコールバックで返されます。

これにより、呼び出し元は、特定のコールバックを特定の要求に関連付けることができるコンテキストIDを設定できます。

リクエストの送信前に呼び出される必要があります。

戻り値: bool
コンテキスト値が正常に設定された場合はtrueを返します。
次の状況でfalseを返します:
  • hRequestが無効。
  • リクエストが送信済み。

SetHTTPRequestCookieContainer

bool SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer );
名前説明
hRequestHTTPRequestHandleCookieコンテナーを関連付ける要求ハンドル。
hCookieContainerHTTPCookieContainerHandle要求ハンドルに関連付けるCookieコンテナーハンドル。

HTTP要求に使用するためにCookieコンテナーを関連付けます。

戻り値: bool
Cookieコンテナーが正常に設定された場合はtrueを返します。
次の状況でfalseを返します:
  • hRequestが無効。
  • hCookieContainerが無効。

SetHTTPRequestGetOrPostParameter

bool SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue );
名前説明
hRequestHTTPRequestHandleパラメーターを設定するための要求ハンドル。
pchParamNameconst char *パラメーター名フィールド。
pchParamValueconst char *名前フィールドに関連付ける値。

HTTP要求にGETまたはPOSTパラメーター値を設定します。

リクエストの送信前に呼び出される必要があります。

戻り値: bool
パラメーターが正常に設定された場合はtrueを返します。
次の状況でfalseを返します:

SetHTTPRequestHeaderValue

bool SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue );
名前説明
hRequestHTTPRequestHandleヘッダー値を設定するための要求ハンドル。
pchHeaderNameconst char *ヘッダー名フィールド。
pchHeaderValueconst char *ヘッダー名フィールドに関連付ける値。

HTTP要求のヘッダー値を設定します。

リクエストの送信前に呼び出される必要があります。

標準リクエストフィールドの完全なリストはwikipediaを参照してください。 User-Agentフィールドは、リクエストの送信時に上書きされるため、明示的に使用が禁止されています。

戻り値: bool
ヘッダーの値が正常に設定された場合はtrueを返します。
次の状況でfalseを返します:
  • hRequestが無効。
  • リクエストは送信済みです。
  • pchHeaderName"User-Agent"
  • pchHeaderNamepchHeaderValueNULL

SetHTTPRequestNetworkActivityTimeout

bool SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hRequest, uint32 unTimeoutSeconds );
名前説明
hRequestHTTPRequestHandleタイムアウトを設定するための要求ハンドル。
unTimeoutSecondsuint32秒単位でのタイムアウト時間の長さ。

HTTP要求のタイムアウトを秒単位で設定します。

これを呼び出さない場合、デフォルトのタイムアウトは60秒です。 新しい情報を取得するたびに延長されます。 厳密な最大タイムアウト時間が必要な場合は、SetHTTPRequestAbsoluteTimeoutMSを使用します。

戻り値: bool
タイムアウトが正常に設定された場合はtrueを返します。
次の状況でfalseを返します:
  • hRequestが無効。
  • リクエストは送信済みです。

SetHTTPRequestRawPostBody

bool SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen );
名前説明
hRequestHTTPRequestHandlePOSTボディを設定するための要求ハンドル。
pchContentTypeconst char *"content-type" HTTPヘッダーの呼び出し値を設定します。
pubBodyuint8 *設定する未加工POSTボディデータ。
unBodyLenuint32pubBodyに渡されたボディデータの長さ。

HTTP POST要求のボディを設定します。

GET要求は失敗しfalseを返します。また、要求にPOSTパラメーターがすでに設定されている場合は失敗します。 この未加工ボディを設定すると、POSTの唯一のコンテンツになります。pchContentTypeパラメーターは要求に"content-type"ヘッダーを設定し、ボディの解釈方法をサーバーへ通知します。

戻り値: bool
content-typeフィールドとボディデータが正常に設定された場合は、trueを返します
それ以外は、以下の状況でfalseを返します:

SetHTTPRequestRequiresVerifiedCertificate

bool SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate );
名前説明
hRequestHTTPRequestHandleリクエストが検証済み証明書を必要とするかどうかを設定するための要求ハンドル。
bRequireVerifiedCertificatebool検証済み証明書を必要とするように設定しますか?

HTTPS要求で、マシン証明書信頼ストアを介して検証済みSSL証明書を必要とするように設定します。

これは現在、WindowsとmacOSでのみ機能します。

戻り値: bool
成功時にtrueを返します。 要求ハンドルが無効の場合はfalseを返します。

SetHTTPRequestUserAgentInfo

bool SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const char *pchUserAgentInfo );
名前説明
hRequestHTTPRequestHandleユーザーエージェント情報を設定するための要求ハンドル。
pchUserAgentInfoconst char *ユーザーエージェントの末尾に追加する文字列。

リクエストに追加のユーザーエージェント情報を設定します。

これは通常のユーザーエージェントに上書きではなく、最後に追加情報を追加するだけです。 NULLまたは空の文字列を送信するとユーザーエージェント情報をデフォルト値にリセットします。

戻り値: bool
ユーザーエージェントが正常に更新された場合はtrueを返します。 要求ハンドルが無効の場合はfalseを返します。

コールバック

以下はSteamAPI_RunCallbacksを呼び出すことで実行されるコールバックです。 これらの多くはISteamHTTPのメンバー関数への応答として直接実行されます。

HTTPRequestCompleted_t

HTTP要求が完了したときの結果。
GetHTTPStreamingResponseBodyDataを使用している場合は、HTTPRequestHeadersReceived_t 、またはHTTPRequestDataReceived_tを使用してください。

名前説明
m_hRequestHTTPRequestHandle完了したリクエストのハンドル。 使用後にリソースを解放するためにReleaseHTTPRequestをこのハンドルで呼び出します。これは通常、このコールバックで行われます。
m_ulContextValueuint64このコールバックが関連付けられたSetHTTPRequestContextValueリクエストでユーザーが定義したコンテキスト値。 コンテキスト値が設定されていない場合、
これは0になります。
m_bRequestSuccessfulboolリクエストが実際にサーバーから何らかの応答を受信した場合 (たとえエラーであっても)これはtrueになります。
それ以外の場合、内部エラーやクライアント側のネットワーク障害によりリクエストが失敗したときは、falseになります。
m_eStatusCodeEHTTPStatusCodeサーバーから返されるHTTPステータスコード値になります。
k_EHTTPStatusCode200OKは通常のOK応答です。それ以外を受け取った場合はおそらく失敗として処理する必要があります。
m_unBodySizeuint32バイト単位でのリクエストボディのサイズ。 これはGetHTTPResponseBodySizeと同じです。

関連する関数: SendHTTPRequest, SendHTTPRequestAndStreamResponse

HTTPRequestDataReceived_t

ストリーミングHTTP要求からデータチャンクを受信したときにトリガーされます。

名前説明
m_hRequestHTTPRequestHandleデータを受信したリクエストのハンドル値。
m_ulContextValueuint64このコールバックが関連付けられたリクエストでユーザーが定義したコンテキスト値。コンテキスト値が設定されていない場合、
これは0になります。
m_cOffsetuint32このデータチャンクを取得するためにGetHTTPStreamingResponseBodyDataに提供するオフセット
m_cBytesReceiveduint32このデータチャンクを取得するためにGetHTTPStreamingResponseBodyDataに提供するサイズ(バイト単位)

関連する関数: SendHTTPRequestAndStreamResponse

HTTPRequestHeadersReceived_t

ストリーミングHTTP要求からHTTPヘッダーを受信したときにトリガーされます。

名前説明
m_hRequestHTTPRequestHandleヘッダーを受信したリクエストのハンドル値。
m_ulContextValueuint64このコールバックが関連付けられたリクエストでユーザーが定義したコンテキスト値。コンテキスト値が設定されていない場合、
これは0になります。

関連する関数: SendHTTPRequestAndStreamResponse

列挙型

これらはISteamHTTPで使用するために定義された列挙型です。

EHTTPMethod

CreateHTTPRequestで、HTTP要求メソッドを設定するために使用されます。 ほとんどの場合、必要なのはGETまたはPOSTのみです。

HTTP要求メソッドの詳細は、Mozilla Developer Networkでお読みいただけます。

名前説明
k_EHTTPMethodInvalid0無効。
k_EHTTPMethodGET1HTTPメソッドはGETに設定。
k_EHTTPMethodHEAD2HTTPメソッドはHEADに設定。
k_EHTTPMethodPOST3HTTPメソッドはPOSTに設定。
k_EHTTPMethodPUT4HTTPメソッドはPUTに設定。
k_EHTTPMethodDELETE5HTTPメソッドはDELETEに設定。
k_EHTTPMethodOPTIONS6HTTPメソッドはOPTIONSに設定。
k_EHTTPMethodPATCH7HTTPメソッドはPATCHに設定。

EHTTPStatusCode

サーバーがリクエストに応答して送信できるHTTP応答ステータスコード。

それぞれの詳細な説明は、Mozilla Developer Networkか、RFC2616のセクション10.3をご覧ください。

名前説明
k_EHTTPStatusCodeInvalid0無効なステータスコードです。 これはHTTPでは定義されていませんが、私たちのコードでは未設定を示すために使用されます。
k_EHTTPStatusCode100Continue100
k_EHTTPStatusCode101SwitchingProtocols101
k_EHTTPStatusCode200OK200
k_EHTTPStatusCode201Created201
k_EHTTPStatusCode202Accepted202
k_EHTTPStatusCode203NonAuthoritative203
k_EHTTPStatusCode204NoContent204
k_EHTTPStatusCode205ResetContent205
k_EHTTPStatusCode206PartialContent206
k_EHTTPStatusCode300MultipleChoices300
k_EHTTPStatusCode301MovedPermanently301
k_EHTTPStatusCode302Found302
k_EHTTPStatusCode303SeeOther303
k_EHTTPStatusCode304NotModified304
k_EHTTPStatusCode305UseProxy305
k_EHTTPStatusCode307TemporaryRedirect307
k_EHTTPStatusCode400BadRequest400
k_EHTTPStatusCode401Unauthorized401おそらく403か別のステータスコードが必要です。 401は、WWW-Authenticateヘッダーを送信していて、クライアントがそれに応答してAuthorizationヘッダーを送信できることを意味します。
k_EHTTPStatusCode402PaymentRequired402これは将来のHTTP仕様のために予約されているもので、実際にはクライアントではサポートされていません。
k_EHTTPStatusCode403Forbidden403
k_EHTTPStatusCode404NotFound404
k_EHTTPStatusCode405MethodNotAllowed405
k_EHTTPStatusCode406NotAcceptable406
k_EHTTPStatusCode407ProxyAuthRequired407
k_EHTTPStatusCode408RequestTimeout408
k_EHTTPStatusCode409Conflict409
k_EHTTPStatusCode410Gone410
k_EHTTPStatusCode411LengthRequired411
k_EHTTPStatusCode412PreconditionFailed412
k_EHTTPStatusCode413RequestEntityTooLarge413
k_EHTTPStatusCode414RequestURITooLong414
k_EHTTPStatusCode415UnsupportedMediaType415
k_EHTTPStatusCode416RequestedRangeNotSatisfiable416
k_EHTTPStatusCode417ExpectationFailed417
k_EHTTPStatusCode4xxUnknown418418は予約されているため、不明という意味で使用します。
k_EHTTPStatusCode429TooManyRequests429
k_EHTTPStatusCode500InternalServerError500
k_EHTTPStatusCode501NotImplemented501
k_EHTTPStatusCode502BadGateway502
k_EHTTPStatusCode503ServiceUnavailable503
k_EHTTPStatusCode504GatewayTimeout504
k_EHTTPStatusCode505HTTPVersionNotSupported505
k_EHTTPStatusCode5xxUnknown599

Typedefs

これらはISteamHTTPで使用するために定義されたtypedefsです。

名前ベース型説明
HTTPCookieContainerHandleuint32
HTTPRequestHandleuint32HTTP要求ハンドルのハンドル

定数

これらはISteamHTTPで使用するために定義された定数です。

名前説明
INVALID_HTTPCOOKIE_HANDLEint0
INVALID_HTTPREQUEST_HANDLEint0
STEAMHTTP_INTERFACE_VERSIONconst char *"STEAMHTTP_INTERFACE_VERSION002"