Documentação do Steamworks
Interface ISteamHTTP
Um cliente HTTP pequeno e fácil de se usar para enviar e receber dados da web.

Funções de membro

Funções de membro de ISteamHTTP são chamadas por meio da função de acesso global SteamHTTP().

CreateCookieContainer

HTTPCookieContainerHandle CreateCookieContainer( bool bAllowResponsesToModify );
NomeTipoDescrição
bAllowResponsesToModifyboolDefine se o servidor pode definir cookies neste contêiner.

Cria um contêiner de cookies para armazená-los enquanto o processo estiver em execução.

Esta API é válida apenas enquanto o processo estiver em execução. Nenhum cookie é persistido depois da reinicialização do Steam, e não há como acessar o contêiner de cookies em execuções repetidas do seu processo.

Se bAllowResponsesToModify for true, então qualquer resposta às suas requisições que usem este contêiner de cookies pode adicionar ao contêiner novos cookies, que poderão ser transmitidos em requisições futuras. Caso contrário (valor false), apenas cookies explicitamente definidos serão enviados.

Para associar um contêiner de cookies a uma requisição HTTP, use SetHTTPRequestCookieContainer. Para definir um cookie, use SetCookie.

Não se esqueça de liberar o contêiner depois de usá-lo por meio da função ReleaseCookieContainer para evitar vazamento de memória!

Retorna: HTTPCookieContainerHandle
Retorna o handle para um novo contêiner de cookies, a ser usado com chamadas futuras a funções da interface ISteamHTTP.

CreateHTTPRequest

HTTPRequestHandle CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL );
NomeTipoDescrição
eHTTPRequestMethodEHTTPMethodO tipo de requisição a ser realizada.
pchAbsoluteURLconst char *O URL a requisitar. Deve começar com "http://" ou "https://".

Inicializa uma nova requisição HTTP.

Requer o método, como GET ou POST, e URL absoluto da requisição. Compatível com protocolos HTTP e HTTPS, então a string deve começar com "http://" ou "https://" e deve ter uma aparência similar a "http://store.steampowered.com/app/10/". Esta chamada retorna um handle que pode ser usado em chamadas subsequentes para configuração e então envio da requisição HTTP por meio da função SendHTTPRequest ou SendHTTPRequestAndStreamResponse.

Não se esqueça de liberar a requisição HTTP depois de usá-la por meio da função ReleaseHTTPRequest para evitar vazamento de memória!

Retorna: HTTPRequestHandle
Retorna o handle para uma nova requisição, a ser usado com chamadas futuras a funções da interface ISteamHTTP. Retorna INVALID_HTTPREQUEST_HANDLE se pchAbsoluteURL for NULL ou vazio ("").

DeferHTTPRequest

bool DeferHTTPRequest( HTTPRequestHandle hRequest );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição a postergar.

Posterga uma requisição já enviada, enviando-a para o final da fila.

Retorna: bool
Retorna true se a requisição foi postergada com sucesso. false se hRequest for um handle inválido ou se a requisição ainda não tiver sido enviada para a fila.

Consulte também: SendHTTPRequest, SendHTTPRequestAndStreamResponse

GetHTTPDownloadProgressPct

bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cuja porcentagem de download recuperar.
pflPercentOutfloat *Retorna a porcentagem de download se a chamada for bem-sucedida.

Recupera o progresso do download do corpo da resposta à requisição.

Será zero a não ser que um cabeçalho de resposta com um campo "Content-Length" já tenha sido recebido. Para respostas sem um campo "Content-Length", até o encerramento da conexão, retornará zero pela duração da requisição, já que o tamanho é desconhecido.

Retorna: bool
Retorna true se a porcentagem de download foi retornada com sucesso. false se o handle for inválido ou pflPercentOut for NULL.

GetHTTPRequestWasTimedOut

bool GetHTTPRequestWasTimedOut( HTTPRequestHandle hRequest, bool *pbWasTimedOut );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo motivo de falha será verificado.
pbWasTimedOutbool *Retorna se houve esgotamento do tempo-limite da requisição ou não.

Verifica se o motivo da falha da requisição foi esgotamento do tempo-limite (em vez de uma falha mais grave).

É aconselhável chamar esta função no contexto do retorno de chamada HTTPRequestCompleted_t se m_bRequestSuccessful for false.

Retorna: bool
Retorna true se a verificação foi realizada com sucesso.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • A requisição não foi enviada ou concluída.

GetHTTPResponseBodyData

bool GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujos dados do corpo de resposta serão recuperados.
pBodyDataBufferuint8 *O buffer para o qual os dados serão copiados.
unBufferSizeuint32O tamanho do buffer alocado para pBodyDataBuffer, em bytes.

Recupera os dados do corpo de uma resposta HTTP.

Deve ser chamada depois da requisição HTTP ser concluída e ter retornado a resposta HTTP por meio do resultado de chamada HTTPRequestCompleted_t associado ao handle da requisição. Primeiro, chame a função GetHTTPResponseBodySize ou use a variável m_unBodySize informada no resultado de chamada para que possa alocar um buffer de tamanho adequado para passar como argumento desta função.

Uso exclusivo para requisições HTTP enviadas por meio da função SendHTTPRequest. Use a função GetHTTPStreamingResponseBodyData caso esteja fazendo uma requisição HTTP em fluxo por meio da função SendHTTPRequestAndStreamResponse.

Retorna: bool
Retorna true se bem-sucedida, indicando que pBodyDataBuffer foi preenchido com os dados do corpo.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • A requisição não foi enviada ou concluída.
  • A requisição é de fluxo.
  • pBodyDataBuffer é NULL.
  • unBufferSize não é do tamanho informado em GetHTTPResponseBodySize.

GetHTTPResponseBodySize

bool GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *unBodySize );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo tamanho do corpo da resposta recuperar.
unBodySizeuint32 *Retorna o tamanho do corpo da resposta.

Recupera o tamanho dos dados do corpo de uma resposta HTTP.

Deve ser chamada depois da requisição HTTP ser concluída e ter retornado a resposta HTTP por meio do resultado do retorno de chamada HTTPRequestCompleted_t ou HTTPRequestDataReceived_t associado ao handle da requisição. Se bem-sucedida, então aloque um buffer do tamanho informado e passe-o como argumento da função GetHTTPResponseBodyData ou GetHTTPStreamingResponseBodyData para recuperar os dados.

Retorna: bool
Retorna true se bem-sucedida, indicando que unBodySize foi preenchido com o tamanho.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • A requisição não foi enviada ou concluída.
  • unBodySize é NULL.

GetHTTPResponseHeaderSize

bool GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo campo do cabeçalho da resposta será verificado.
pchHeaderNameconst char *O nome do cabeçalho a verificar.
unResponseHeaderSizeuint32 *Retorna o tamanho do campo do cabeçalho da resposta, se estiver presente na mesma.

Verifica se um campo está presente no cabeçalho de uma resposta HTTP e retorna o seu tamanho.

Deve ser chamada depois da requisição HTTP ser concluída e ter retornado a resposta HTTP por meio do resultado de chamada HTTPRequestCompleted_t associado ao handle da requisição. Se bem-sucedida, então aloque um buffer do tamanho informado e passe-o como argumento da função GetHTTPResponseHeaderValue para recuperar o valor associado.

Uma lista de campos usados no cabeçalho da resposta está disponível na Wikipédia.

Retorna: bool
Retorna true se o campo estiver presente no cabeçalho da resposta e unResponseHeaderSize foi preenchido com o tamanho do valor do campo.
Caso contrário, retorna false e define unResponseHeaderSize como 0 sob as seguintes condições:
  • hRequest inválido.
  • A requisição não foi enviada ou concluída.
  • pchHeaderName é NULL.
  • unResponseHeaderSize é NULL.
  • O campo informado não existe no cabeçalho da resposta.

GetHTTPResponseHeaderValue

bool GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo campo do cabeçalho da resposta terá o valor recuperado.
pchHeaderNameconst char *O nome do campo do cabeçalho cujo valor recuperar.
pHeaderValueBufferuint8 *O buffer para o qual o valor será copiado.
unBufferSizeuint32O tamanho do buffer alocado para pHeaderValueBuffer, em bytes.

Recupera o valor de um campo do cabeçalho de uma resposta HTTP.

Deve ser chamada depois da requisição HTTP ser concluída e ter retornado a resposta HTTP por meio do resultado de chamada HTTPRequestCompleted_t associado ao handle da requisição. Primeiro chame a função GetHTTPResponseHeaderSize para verificar a presença do campo e recuperar o tamanho. só então aloque um buffer de tamanho adequado para passar como argumento desta função.

Uma lista de campos usados no cabeçalho da resposta está disponível na Wikipédia.

Retorna: bool
Retorna true se bem-sucedida, indicando que pHeaderValueBuffer foi preenchido com o valor do campo.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • A requisição não foi enviada ou concluída.
  • pchHeaderName é NULL.
  • pHeaderValueBuffer é NULL.
  • O campo informado não consta no cabeçalho da resposta.
  • unBufferSize não é grande o suficiente para receber o valor.

GetHTTPStreamingResponseBodyData

bool GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujos dados do corpo de resposta serão recuperados.
cOffsetuint32O deslocamento informado pelo retorno de chamada HTTPRequestDataReceived_t.
pBodyDataBufferuint8 *Retorna os dados copiando-os para este buffer.
unBufferSizeuint32O tamanho informado pelo retorno de chamada HTTPRequestDataReceived_t.

Recupera os dados do corpo de uma resposta HTTP em fluxo.

Deve ser chamada depois de receber dados de uma requisição HTTP em fluxo por meio do retorno de chamada HTTPRequestDataReceived_t associado ao handle da requisição. Tipicamente aloca-se um buffer associado ao handle da requisição usando o campo Content-Length da resposta HTTP para receber o tamanho total dos dados ao recuperar o cabeçalho por meio do retorno de chamada HTTPRequestHeadersReceived_t. Então basta anexar os dados ao buffer conforme são recebidos.

Uso exclusivo para requisições HTTP em fluxo por meio da função SendHTTPRequestAndStreamResponse. Use a função GetHTTPResponseBodyData caso esteja fazendo uma requisição HTTP por meio da função SendHTTPRequest.

Retorna: bool
Retorna true se bem-sucedida, indicando que pBodyDataBuffer foi preenchido com os dados do corpo.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • A requisição não foi enviada ou concluída.
  • A requisição não é de fluxo.
  • cOffset não é o mesmo valor de deslocamento informado pelo retorno de chamada HTTPRequestDataReceived_t.
  • unBufferSize não é o mesmo valor de tamanho informado pelo retorno de chamada HTTPRequestDataReceived_t.

PrioritizeHTTPRequest

bool PrioritizeHTTPRequest( HTTPRequestHandle hRequest );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição a priorizar.

Prioriza uma requisição já enviada, enviando-a para a frente da fila.

Retorna: bool
Retorna true se a requisição foi priorizada com sucesso. false se hRequest for um handle inválido ou a requisição ainda não foi enviada para a fila.

Consulte também: SendHTTPRequest, SendHTTPRequestAndStreamResponse

ReleaseCookieContainer

bool ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer );
NomeTipoDescrição
hCookieContainerHTTPCookieContainerHandleO handle do contêiner de cookies a liberar.

Libera um contêiner de cookies, desalocando a memória reservada para ele no Steam.

Você DEVE chamar esta função quando terminar de usar um HTTPCookieContainerHandle recuperado por meio da função CreateCookieContainer!

Retorna: bool
Retorna true se o handle foi liberado; false se o handle for inválido.

ReleaseHTTPRequest

bool ReleaseHTTPRequest( HTTPRequestHandle hRequest );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle de requisição a ser liberado.

Libera um handle de requisição HTTP, desalocando a memória reservada para ele no Steam.

Você DEVE chamar esta função quando terminar de usar um HTTPRequestHandle recuperado por meio da função CreateHTTPRequest!

Retorna: bool
Retorna true se o handle foi liberado; false apenas se o handle for inválido.

SendHTTPRequest

bool SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle de requisição a enviar.
pCallHandleSteamAPICall_t *Retorna um handle do resultado de chamada para recebimento da resposta.

Envia uma requisição HTTP.

Esta chamada é assíncrona e contém um handle do resultado de chamada, que deve ser usado para acompanhar a chamada até a sua conclusão. Se houver várias requisições ativas ao mesmo tempo, use PrioritizeHTTPRequest ou DeferHTTPRequest para definir a prioridade das mesmas.

Se o usuário estiver no modo off-line do Steam, então esta função adicionará um cabeçalho "cache-control" de valor "only-if-cached" e fará uma consulta ao cache local em vez de enviar uma requisição remota.

Se os dados esperados forem grandes, use SendHTTPRequestAndStreamResponse para recebê-los em pedaços.

Retorna: bool
Dispara um retorno de chamada HTTPRequestCompleted_t.
Retorna true ao definir o parâmetro com sucesso.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • Requisição já enviada.
  • pCallHandle é NULL.

SendHTTPRequestAndStreamResponse

bool SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição a enviar.
pCallHandleSteamAPICall_t *Retorna um handle do resultado de chamada para recebimento da resposta.

Envia uma requisição HTTP e recebe a resposta em pedaços.

Esta chamada é assíncrona e contém um handle do resultado de chamada, que deve ser usado para acompanhar a chamada até a sua conclusão. Tipicamente aloca-se um buffer associado ao handle da requisição usando o campo Content-Length da resposta HTTP para receber o tamanho total dos dados ao recuperar o cabeçalho por meio do retorno de chamada HTTPRequestHeadersReceived_t. Então basta anexar os dados ao buffer conforme são recebidos.

Se houver várias requisições ativas ao mesmo tempo, use PrioritizeHTTPRequest ou DeferHTTPRequest para definir a prioridade das mesmas.

Se o usuário estiver no modo off-line do Steam, então esta função adicionará um cabeçalho "cache-control" de valor "only-if-cached" e fará uma consulta ao cache local em vez de enviar uma requisição remota.

Se os dados esperados forem pequenos (na ordem de alguns megabytes no máximo), é aconselhável usar a função SendHTTPRequest.

Retorna: bool
Dispara um retorno de chamada HTTPRequestDataReceived_t.
Dispara um retorno de chamada HTTPRequestHeadersReceived_t.
Dispara um retorno de chamada HTTPRequestCompleted_t.
Retorna true ao definir o parâmetro com sucesso.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • Requisição já enviada.
  • pCallHandle é NULL.

SetCookie

bool SetCookie( HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie );
NomeTipoDescrição
hCookieContainerHTTPCookieContainerHandleO contêiner de cookies que receberá o cookie.
pchHostconst char *O host do cookie.
pchUrlconst char *O URL do cookie.
pchCookieconst char *O cookie a definir.

Adiciona um cookie ao contêiner de cookies especificado para uso com requisições futuras.

Retorna: bool
Retorna true se o cookie foi definido com sucesso. false se o handle da requisição for inválido ou houver um problema de segurança durante o processamento do cookie.

SetHTTPRequestAbsoluteTimeoutMS

bool SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, uint32 unMilliseconds );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo tempo-limite será definido.
unMillisecondsuint32O tempo-limite, em milissegundos.

Define um tempo-limite absoluto, em milissegundos, para a requisição HTTP.

Este é o tempo-limite total, diferente do tempo-limite de atividade de rede, que é definido pela função SetHTTPRequestNetworkActivityTimeout e pode ser aumentado sempre que houver recebimento de dados.

Retorna: bool
Retorna true ao definir o tempo-limite com sucesso.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • Requisição já enviada.

SetHTTPRequestContextValue

bool SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64 ulContextValue );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo valor de contexto definir.
ulContextValueuint64O valor de contexto a definir.

Define um valor de contexto para a requisição, que será retornado no retorno de chamada HTTPRequestCompleted_t depois de enviar a requisição.

Permite que o chamador defina um ID de contexto para facilitar a identificação de qual requisição é responsável pelo retorno de chamada.

Deve ser chamada antes de enviar a requisição.

Retorna: bool
Retorna true ao definir o valor de contexto com sucesso.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • Requisição já enviada.

SetHTTPRequestCookieContainer

bool SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição ao qual o contêiner de cookies será associado.
hCookieContainerHTTPCookieContainerHandleO handle do contêiner de cookies a associar com o handle da requisição.

Associa um contêiner de cookies para uso com uma requisição HTTP.

Retorna: bool
Retorna true ao definir o contêiner de cookies com sucesso.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • hCookieContainer inválido.

SetHTTPRequestGetOrPostParameter

bool SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo parâmetro será definido.
pchParamNameconst char *Nome do campo do parâmetro.
pchParamValueconst char *Valor a associar com o campo.

Define o valor de um parâmetro GET ou POST na requisição HTTP.

Deve ser chamada antes de enviar a requisição.

Retorna: bool
Retorna true ao definir o parâmetro com sucesso.
Caso contrário, retorna false sob as seguintes condições:

SetHTTPRequestHeaderValue

bool SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo valor de cabeçalho definir.
pchHeaderNameconst char *O nome do campo do cabeçalho.
pchHeaderValueconst char *Valor a associar ao campo do cabeçalho.

Define um campo do cabeçalho da requisição HTTP.

Deve ser chamada antes de enviar a requisição.

Uma lista completa de campos de cabeçalho HTTP está disponível na Wikipédia (em inglês). O campo "User-Agent" é proibido por ser sobrescrito ao enviar a requisição.

Retorna: bool
Retorna true ao definir o campo com sucesso.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • Requisição já enviada.
  • pchHeaderName é "User-Agent".
  • pchHeaderName ou pchHeaderValue é NULL.

SetHTTPRequestNetworkActivityTimeout

bool SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hRequest, uint32 unTimeoutSeconds );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo tempo-limite será definido.
unTimeoutSecondsuint32O tempo-limite, em segundos.

Define um tempo-limite, em segundos, para a requisição HTTP.

Se não chamar esta função, o tempo-limite será de 60 segundos. Pode ser aumentado ao receber mais dados. Use SetHTTPRequestAbsoluteTimeoutMS se precisar definir um tempo-limite máximo absoluto.

Retorna: bool
Retorna true ao definir o tempo-limite com sucesso.
Caso contrário, retorna false sob as seguintes condições:
  • hRequest inválido.
  • Requisição já enviada.

SetHTTPRequestRawPostBody

bool SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujo corpo POST será definido.
pchContentTypeconst char *Define o valor do campo do cabeçalho HTTP "Content-Type" da chamada.
pubBodyuint8 *Os dados brutos do corpo POST a definir.
unBodyLenuint32O tamanho dos dados do corpo do argumento pubBody.

Define o corpo de uma requisição POST HTTP.

Falhará e retornará false em uma requisição GET e falhará se os parâmetros POST da requisição já estiverem definidos. Definir o corpo bruto o torna o único conteúdo do POST; o parâmetro pchContentType definirá o campo "Content-Type" do cabeçalho da requisição para informar ao servidor como interpretar o corpo.

Retorna: bool
Retorna true ao definir o campo "Content-Type" e os dados do corpo com sucesso.
Caso contrário, retorna false sob as seguintes condições:

SetHTTPRequestRequiresVerifiedCertificate

bool SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição na qual definir obrigação de um certificado verificado.
bRequireVerifiedCertificateboolAtivar obrigação de certificado verificado?

Define se a requisição HTTPS obriga a existência de um certificado SSL verificado pelos certificados confiáveis da máquina.

Atualmente funciona apenas no Windows e macOS.

Retorna: bool
Retorna true se bem-sucedida. false se o handle da requisição for inválido.

SetHTTPRequestUserAgentInfo

bool SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const char *pchUserAgentInfo );
NomeTipoDescrição
hRequestHTTPRequestHandleO handle da requisição cujas informações de agente de usuário definir.
pchUserAgentInfoconst char *A string a anexar no final do agente de usuário.

Define informações de agente de usuário adicionais para uma requisição.

Não substitui o agente de usuário normal, apenas anexa as informações adicionais ao final. Passar NULL ou uma string vazia restaura o agente de usuário padrão.

Retorna: bool
Retorna true se o agente de usuário foi atualizado com sucesso. false se o handle da requisição for inválido.

Retornos de chamada

Estes são os retornos de chamada (callbacks) que podem ser disparados ao chamar SteamAPI_RunCallbacks. Muitos podem ser disparados diretamente em resposta às funções de membro de ISteamHTTP.

HTTPRequestCompleted_t

Resultado quando uma requisição HTTP é concluída.
Se estiver usando GetHTTPStreamingResponseBodyData, então use HTTPRequestHeadersReceived_t ou HTTPRequestDataReceived_t.

NomeTipoDescrição
m_hRequestHTTPRequestHandleHandle da requisição concluída. Chame a função ReleaseHTTPRequest neste handle para liberar os recursos quando terminar de usá-lo (o que deve ser neste retorno de chamada).
m_ulContextValueuint64Valor de contexto definido pelo usuário, por meio da função SetHTTPRequestContextValue, na requisição associada a este retorno de chamada. 0 se
nenhum valor de contexto foi definido.
m_bRequestSuccessfulboolSerá true se a requisição recebeu alguma resposta do servidor (mesmo um erro).
Será false se houve falha na requisição devido a um erro interno ou falha de rede no cliente.
m_eStatusCodeEHTTPStatusCodeSerá o código de estado HTTP retornado pelo servidor.
k_EHTTPStatusCode200OK é a resposta OK normal; se receber outro valor, você provavelmente deverá tratá-la como falha.
m_unBodySizeuint32O tamanho do corpo da requisição, em bytes. O mesmo valor retornado pela função GetHTTPResponseBodySize.

Funções associadas: SendHTTPRequest, SendHTTPRequestAndStreamResponse

HTTPRequestDataReceived_t

Disparado ao receber um pedaço de dados de uma requisição HTTP em fluxo.

NomeTipoDescrição
m_hRequestHTTPRequestHandleHandle da requisição que recebeu os dados.
m_ulContextValueuint64Valor de contexto definido pelo usuário na requisição associada a este retorno de chamada.
0 se nenhum valor de contexto foi definido.
m_cOffsetuint32Deslocamento a ser passado para a função GetHTTPStreamingResponseBodyData para recuperar este pedaço de dados.
m_cBytesReceiveduint32Tamanho, em bytes, a ser passado para a função GetHTTPStreamingResponseBodyData para recuperar este pedaço de dados.

Funções associadas: SendHTTPRequestAndStreamResponse

HTTPRequestHeadersReceived_t

Disparado quando cabeçalhos HTTP são recebidos de uma requisição HTTP em fluxo.

NomeTipoDescrição
m_hRequestHTTPRequestHandleHandle da requisição que recebeu os cabeçalhos.
m_ulContextValueuint64Valor de contexto definido pelo usuário na requisição associada a este retorno de chamada.
0 se nenhum valor de contexto foi definido.

Funções associadas: SendHTTPRequestAndStreamResponse

Enumerações

Estas são as enumerações definidas para uso com ISteamHTTP.

EHTTPMethod

Usada para definir o método da requisição HTTP na função CreateHTTPRequest. Na maioria dos casos, os valores GET e POST são suficientes.

Leia mais sobre métodos de requisição HTTP na Mozilla Developer Network.

NomeValorDescrição
k_EHTTPMethodInvalid0Inválido.
k_EHTTPMethodGET1Método HTTP GET.
k_EHTTPMethodHEAD2Método HTTP HEAD.
k_EHTTPMethodPOST3Método HTTP POST.
k_EHTTPMethodPUT4Método HTTP PUT.
k_EHTTPMethodDELETE5Método HTTP DELETE.
k_EHTTPMethodOPTIONS6Método HTTP OPTIONS.
k_EHTTPMethodPATCH7Método HTTP PATCH.

EHTTPStatusCode

Códigos de estado de resposta HTTP, que o servidor pode enviar em resposta a uma requisição.

Consulte a Mozilla Developer Network ou o RFC2616, seção 10.3, para descrições detalhadas de cada um.

NomeValorDescrição
k_EHTTPStatusCodeInvalid0Código de estado inválido. Não é definido no protocolo HTTP; usado para indicar não definição no nosso código.
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_EHTTPStatusCode401Unauthorized401Prefira o uso de 403 ou outro código. 401 significa que está enviando um cabeçalho WWW-Authenticate e que o cliente pode responder com um cabeçalho Authorization.
k_EHTTPStatusCode402PaymentRequired402Reservado para especificações HTTP futuras, não compatível com clientes.
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_EHTTPStatusCode4xxUnknown418O código 418 é reservado, então usamos para significar "Desconhecido".
k_EHTTPStatusCode429TooManyRequests429
k_EHTTPStatusCode500InternalServerError500
k_EHTTPStatusCode501NotImplemented501
k_EHTTPStatusCode502BadGateway502
k_EHTTPStatusCode503ServiceUnavailable503
k_EHTTPStatusCode504GatewayTimeout504
k_EHTTPStatusCode505HTTPVersionNotSupported505
k_EHTTPStatusCode5xxUnknown599

Tipos definidos

Estes são os tipos definidos por typedefs para uso com ISteamHTTP.

NomeTipo baseDescrição
HTTPCookieContainerHandleuint32
HTTPRequestHandleuint32Representa um handle único para uma requisição HTTP.

Constantes

Estas são as constantes definidas para uso com ISteamHTTP.

NomeTipoValorDescrição
INVALID_HTTPCOOKIE_HANDLEint0
INVALID_HTTPREQUEST_HANDLEint0
STEAMHTTP_INTERFACE_VERSIONconst char *"STEAMHTTP_INTERFACE_VERSION002"