Steamworks 文献库
ISteamHTTP 接口
简单易用的 HTTP 客户端,用于从 web 收发数据。

成员函数

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
返回 cookie 新容器句柄,用于将来调用 SteamHTTP 函数。

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

另见: SendHTTPRequestSendHTTPRequestAndStreamResponse

GetHTTPDownloadProgressPct

bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut );
名称类型描述
hRequestHTTPRequestHandle获得下载百分比的请求句柄。
pflPercentOutfloat *如果调用成功,返回下载百分比。

获得为请求下载正文的进度。

除非已收到含有内容长度字段的响应标头,否则为零。 由于在连接关闭前大小未知,因此,对于不包含内容长度的响应,将在请求的持续时间内报告为零。

返回: 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_tHTTPRequestDataReceived_t 返回 HTTP 响应后,才可调用。 如果返回成功,您可按所提供的大小分配一个缓冲区,填入从 GetHTTPResponseBodyDataGetHTTPStreamingResponseBodyData 获得的数据。

返回: 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 关联的值。

如需标准响应标头名称的列表,请见维基页面

返回: bool
如果响应中存在标头名称并且 unresponseHeaderSize 已填充标头值的大小,返回 true
否则,返回 false,并在以下条件下将 unresponseHeaderSize 设置为 0
  • 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 检查标头是否存在,并取得其大小, 然后便可将分配该大小的缓冲区,并传入此函数。

如需标准响应标头名称的列表,请见维基页面

返回: bool
如果 pHeaderValueBuffer 已经填充了标头值,返回 true
否则,在下列情况发生时,返回 false
  • hRequest 无效。
  • 请求未发送,或未完成。
  • pchHeaderNameNULL
  • pHeaderValueBufferNULL
  • 响应中无标头名称。
  • unBufferSize 过小,不足以容纳值。

GetHTTPStreamingResponseBodyData

bool GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize );
名称类型描述
hRequestHTTPRequestHandle要获得响应正文数据的请求句柄。
cOffsetuint32这必须是 HTTPRequestDataReceived_t 提供的偏移量。
pBodyDataBufferuint8 *将数据复制到此缓冲区,以返回该数据。
unBufferSizeuint32这必须是 HTTPRequestDataReceived_t 提供的大小。

从流式 HTTP 响应获取正文数据。

调用此函数前,必须通过与此请求句柄关联的 HTTPRequestDataReceived_t 回调从流式 HTTP 请求收到数据。 一般来说当您从 HTTPRequestHeadersReceived_t 收到标头时,要使用 Content-Length HTTP 响应字段,分配一个与请求句柄关联的缓冲区,以便能接收数据总量, 然后再在收到数据时将其追加至该缓冲区中。

此函数仅供以 SendHTTPRequestAndStreamResponse 发送的流式 HTTP 请求使用。 如果您使用的是 SendHTTPRequest,则须使用 GetHTTPResponseBodyData

返回: bool
如果 pBodyDataBuffer 已经填充了正文数据,返回 true
否则,在下列情况发生时,返回 false

PrioritizeHTTPRequest

bool PrioritizeHTTPRequest( HTTPRequestHandle hRequest );
名称类型描述
hRequestHTTPRequestHandle要优先处理的请求句柄。

将已发送请求移到队列前面,以对其进行优先处理。

返回: bool
如果成功将请求的优先级提高,返回 true; 否则,如果 hRequest 为无效句柄,或请求尚未发送,则返回 false

另见: SendHTTPRequestSendHTTPRequestAndStreamResponse

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 请求。

此调用为异步调用,并提供了一个调用结果句柄,必须用来追踪调用进度直至调用完成。 如果同时有多个请求,可使用 PrioritizeHTTPRequestDeferHTTPRequest 来设置请求的优先级。

如果用户在 Steam 上为脱机模式,便会添加“only-if-cached”的 cache-control 标头,并只会在本地缓存中查找,而不是发出任何实际的的远程请求。

如果预期数据较大,可以使用 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 响应字段,分配一个与请求句柄关联的缓冲区,以便能接收数据总量, 然后再在收到数据时将其追加至该缓冲区中。

如同时有多个请求,您可使用 PrioritizeHTTPRequestDeferHTTPRequest 来设置请求的优先级。

如果用户在 Steam 上为脱机模式,便会添加“only-if-cached”的 cache-control 标头,并只会在本地缓存中查找,而不是发出任何实际的的远程请求。

如果预期数据较小(几兆或更小),您可能需要使用 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 );
名称类型描述
hCookieContainerHTTPCookieContainerHandle要将此 cookie 放入其中的 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,该上下文 ID 可以将特定的回调归因于特定的请求。

此函数必须在发出请求前调用。

返回: bool
如果成功设置上下文值,返回 true
在下列情况发生时,返回 false
  • hRequest 无效。
  • 请求已发送。

SetHTTPRequestCookieContainer

bool SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer );
名称类型描述
hRequestHTTPRequestHandle要与 cookie 容器关联的请求句柄。
hCookieContainerHTTPCookieContainerHandle要与请求句柄关联的 cookie 容器句柄。

关联 cookie 容器,供 HTTP 请求使用。

返回: 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 请求设置请求标头值。

此函数必须在发出请求前调用。

标准请求字段的完整列表可参见维基页面。 由于用户代理字段会在请求发出后被覆盖,因此已被明确禁止。

返回: 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 );
名称类型描述
hRequestHTTPRequestHandle要设置 POST 正文的请求句柄。
pchContentTypeconst char *设置“content-type”调用的 http 标头值。
pubBodyuint8 *要设置的原始 POST 正文数据。
unBodyLenuint32传入 pchName 的正文数据的长度。

设置 HTTP POST 请求的正文。

如果请求为 GET,则会失败并返回 false;如果请求的 POST 参数已设置,也会失败。 设置此原始正文会使其成为 post 中的唯一内容,pchContentType 参数会为请求设置“content-type”标头,通知服务器如何解释正文。

返回: bool
成功时返回 true,表示 content-type 字段和正文数据已经设置;
否则,在下列情况发生时,返回 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_tHTTPRequestDataReceived_t 回调。

名称类型描述
m_hRequestHTTPRequestHandle已完成请求的句柄。 您应在此句柄上调用 ReleaseHTTPRequest 以释放使用完毕的资源,通常也就在此回调中。
m_ulContextValueuint64用户使用与此回调相关联的 SetHTTPRequestContextValue 对请求所定义的上下文值。 如果未设置上下文值,则为 0
m_bRequestSuccessfulbool如果请求确实从服务器出得到了某种响应(即便是错误),则此为 true
否则,如果因为内部错误或客户端网络问题而请求失败,则为 false
m_eStatusCodeEHTTPStatusCode将是服务器返回的 HTTP 状态代码值。
k_EHTTPStatusCode200OK 为正常的成功响应,如果返回其他代码,您也许需要将其作为失败处理。
m_unBodySizeuint32请求正文的字节大小。 与 GetHTTPResponseBodySize 相同。

关联函数: SendHTTPRequestSendHTTPRequestAndStreamResponse

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。

参见 Mozilla Developer Network,对 HTTP 请求方法了解更多。

名称描述
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 section 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 标头,而客户端可在响应中发送授权标头。
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

Typedef

以下是定义来与 ISteamHTTP 一起使用的 typedef。

名称基类型描述
HTTPCookieContainerHandleuint32
HTTPRequestHandleuint32HTTP 请求句柄。

常量

以下是定义来与 ISteamHTTP 一起使用的常量。

名称类型描述
INVALID_HTTPCOOKIE_HANDLEint0
INVALID_HTTPREQUEST_HANDLEint0
STEAMHTTP_INTERFACE_VERSIONconst char *"STEAMHTTP_INTERFACE_VERSION002"