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 );
Nome | Tipo | Descrição |
bAllowResponsesToModify | bool | Define 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: HTTPCookieContainerHandleRetorna 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 );
Nome | Tipo | Descrição |
eHTTPRequestMethod | EHTTPMethod | O tipo de requisição a ser realizada. |
pchAbsoluteURL | const 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: HTTPRequestHandleRetorna 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 );
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,
SendHTTPRequestAndStreamResponseGetHTTPDownloadProgressPct
bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cuja porcentagem de download recuperar. |
pflPercentOut | float * | 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo motivo de falha será verificado. |
pbWasTimedOut | bool * | 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujos dados do corpo de resposta serão recuperados. |
pBodyDataBuffer | uint8 * | O buffer para o qual os dados serão copiados. |
unBufferSize | uint32 | O 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo tamanho do corpo da resposta recuperar. |
unBodySize | uint32 * | 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo campo do cabeçalho da resposta será verificado. |
pchHeaderName | const char * | O nome do cabeçalho a verificar. |
unResponseHeaderSize | uint32 * | 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo campo do cabeçalho da resposta terá o valor recuperado. |
pchHeaderName | const char * | O nome do campo do cabeçalho cujo valor recuperar. |
pHeaderValueBuffer | uint8 * | O buffer para o qual o valor será copiado. |
unBufferSize | uint32 | O 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 );
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 );
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,
SendHTTPRequestAndStreamResponseReleaseCookieContainer
bool ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer );
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 );
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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle de requisição a enviar. |
pCallHandle | SteamAPICall_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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição a enviar. |
pCallHandle | SteamAPICall_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 );
Nome | Tipo | Descrição |
hCookieContainer | HTTPCookieContainerHandle | O contêiner de cookies que receberá o cookie. |
pchHost | const char * | O host do cookie. |
pchUrl | const char * | O URL do cookie. |
pchCookie | const 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo tempo-limite será definido. |
unMilliseconds | uint32 | O 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo valor de contexto definir. |
ulContextValue | uint64 | O 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição ao qual o contêiner de cookies será associado. |
hCookieContainer | HTTPCookieContainerHandle | O 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo parâmetro será definido. |
pchParamName | const char * | Nome do campo do parâmetro. |
pchParamValue | const 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo valor de cabeçalho definir. |
pchHeaderName | const char * | O nome do campo do cabeçalho. |
pchHeaderValue | const 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo tempo-limite será definido. |
unTimeoutSeconds | uint32 | O 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujo corpo POST será definido. |
pchContentType | const char * | Define o valor do campo do cabeçalho HTTP "Content-Type" da chamada. |
pubBody | uint8 * | Os dados brutos do corpo POST a definir. |
unBodyLen | uint32 | O 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição na qual definir obrigação de um certificado verificado. |
bRequireVerifiedCertificate | bool | Ativar 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 );
Nome | Tipo | Descrição |
hRequest | HTTPRequestHandle | O handle da requisição cujas informações de agente de usuário definir. |
pchUserAgentInfo | const 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.
Nome | Tipo | Descrição |
m_hRequest | HTTPRequestHandle | Handle 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_ulContextValue | uint64 | Valor 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_bRequestSuccessful | bool | Será 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_eStatusCode | EHTTPStatusCode | Será 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_unBodySize | uint32 | O tamanho do corpo da requisição, em bytes. O mesmo valor retornado pela função GetHTTPResponseBodySize. |
Funções associadas: SendHTTPRequest,
SendHTTPRequestAndStreamResponseHTTPRequestDataReceived_t
Disparado ao receber um pedaço de dados de uma requisição HTTP em fluxo.
Nome | Tipo | Descrição |
m_hRequest | HTTPRequestHandle | Handle da requisição que recebeu os dados. |
m_ulContextValue | uint64 | Valor de contexto definido pelo usuário na requisição associada a este retorno de chamada. 0 se nenhum valor de contexto foi definido. |
m_cOffset | uint32 | Deslocamento a ser passado para a função GetHTTPStreamingResponseBodyData para recuperar este pedaço de dados. |
m_cBytesReceived | uint32 | Tamanho, em bytes, a ser passado para a função GetHTTPStreamingResponseBodyData para recuperar este pedaço de dados. |
Funções associadas: SendHTTPRequestAndStreamResponseHTTPRequestHeadersReceived_t
Disparado quando cabeçalhos HTTP são recebidos de uma requisição HTTP em fluxo.
Nome | Tipo | Descrição |
m_hRequest | HTTPRequestHandle | Handle da requisição que recebeu os cabeçalhos. |
m_ulContextValue | uint64 | Valor 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: SendHTTPRequestAndStreamResponseEnumeraçõ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.
Nome | Valor | Descrição |
k_EHTTPMethodInvalid | 0 | Inválido. |
k_EHTTPMethodGET | 1 | Método HTTP GET. |
k_EHTTPMethodHEAD | 2 | Método HTTP HEAD. |
k_EHTTPMethodPOST | 3 | Método HTTP POST. |
k_EHTTPMethodPUT | 4 | Método HTTP PUT. |
k_EHTTPMethodDELETE | 5 | Método HTTP DELETE. |
k_EHTTPMethodOPTIONS | 6 | Método HTTP OPTIONS. |
k_EHTTPMethodPATCH | 7 | Mé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.
Nome | Valor | Descrição |
k_EHTTPStatusCodeInvalid | 0 | Código de estado inválido. Não é definido no protocolo HTTP; usado para indicar não definição no nosso código. |
k_EHTTPStatusCode100Continue | 100 | |
k_EHTTPStatusCode101SwitchingProtocols | 101 | |
k_EHTTPStatusCode200OK | 200 | |
k_EHTTPStatusCode201Created | 201 | |
k_EHTTPStatusCode202Accepted | 202 | |
k_EHTTPStatusCode203NonAuthoritative | 203 | |
k_EHTTPStatusCode204NoContent | 204 | |
k_EHTTPStatusCode205ResetContent | 205 | |
k_EHTTPStatusCode206PartialContent | 206 | |
k_EHTTPStatusCode300MultipleChoices | 300 | |
k_EHTTPStatusCode301MovedPermanently | 301 | |
k_EHTTPStatusCode302Found | 302 | |
k_EHTTPStatusCode303SeeOther | 303 | |
k_EHTTPStatusCode304NotModified | 304 | |
k_EHTTPStatusCode305UseProxy | 305 | |
k_EHTTPStatusCode307TemporaryRedirect | 307 | |
k_EHTTPStatusCode400BadRequest | 400 | |
k_EHTTPStatusCode401Unauthorized | 401 | Prefira 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_EHTTPStatusCode402PaymentRequired | 402 | Reservado para especificações HTTP futuras, não compatível com clientes. |
k_EHTTPStatusCode403Forbidden | 403 | |
k_EHTTPStatusCode404NotFound | 404 | |
k_EHTTPStatusCode405MethodNotAllowed | 405 | |
k_EHTTPStatusCode406NotAcceptable | 406 | |
k_EHTTPStatusCode407ProxyAuthRequired | 407 | |
k_EHTTPStatusCode408RequestTimeout | 408 | |
k_EHTTPStatusCode409Conflict | 409 | |
k_EHTTPStatusCode410Gone | 410 | |
k_EHTTPStatusCode411LengthRequired | 411 | |
k_EHTTPStatusCode412PreconditionFailed | 412 | |
k_EHTTPStatusCode413RequestEntityTooLarge | 413 | |
k_EHTTPStatusCode414RequestURITooLong | 414 | |
k_EHTTPStatusCode415UnsupportedMediaType | 415 | |
k_EHTTPStatusCode416RequestedRangeNotSatisfiable | 416 | |
k_EHTTPStatusCode417ExpectationFailed | 417 | |
k_EHTTPStatusCode4xxUnknown | 418 | O código 418 é reservado, então usamos para significar "Desconhecido". |
k_EHTTPStatusCode429TooManyRequests | 429 | |
k_EHTTPStatusCode500InternalServerError | 500 | |
k_EHTTPStatusCode501NotImplemented | 501 | |
k_EHTTPStatusCode502BadGateway | 502 | |
k_EHTTPStatusCode503ServiceUnavailable | 503 | |
k_EHTTPStatusCode504GatewayTimeout | 504 | |
k_EHTTPStatusCode505HTTPVersionNotSupported | 505 | |
k_EHTTPStatusCode5xxUnknown | 599 | |
Tipos definidos
Estes são os tipos definidos por typedefs para uso com ISteamHTTP.
Nome | Tipo base | Descrição |
HTTPCookieContainerHandle | uint32 | |
HTTPRequestHandle | uint32 | Representa um handle único para uma requisição HTTP. |
Constantes
Estas são as constantes definidas para uso com ISteamHTTP.
Nome | Tipo | Valor | Descrição |
INVALID_HTTPCOOKIE_HANDLE | int | 0 | |
INVALID_HTTPREQUEST_HANDLE | int | 0 | |
STEAMHTTP_INTERFACE_VERSION | const char * | "STEAMHTTP_INTERFACE_VERSION002" | |