HTTP PT

From SA-MP Wiki

Jump to: navigation, search


HTTP

Descrição:

Envia uma solicitação HTTP threaded.


link= Esta função foi adicionada no SA-MP 0.3b e não irá funcionar em versões anteriores!


Parâmetros:
(index, type, url[], data[], callback[])


indexId usado para diferenciar as requisições que são enviadas (é muito usado o id de um jogador)
typeO tipo da requisição que vai ser enviada.
url[]A url que vai ser enviada a requisição. (Sem 'http://')
data[]Todos os dados do POST que deseja enviar.
callback[]O nome da callback que deseja chamar para passar os dados da requisição.

Valores de retorno:

1 se houver sucesso, 0 se falhar


Tipos de requesição

HTTP_GET - Envia uma requisição HTTP padrão.

HTTP_POST - Envia uma requisição HTTP com dados via POST.

HTTP_HEAD - Envia uma requisição padrão, mas ignora qualquer dado de resposta (retornando somente o código de resposta).

Códigos de resposta

HTTP_ERROR_BAD_HOST			1
HTTP_ERROR_NO_SOCKET			2
HTTP_ERROR_CANT_CONNECT	                3
HTTP_ERROR_CANT_WRITE			4
HTTP_ERROR_CONTENT_TOO_BIG		5
HTTP_ERROR_MALFORMED_RESPONSE	        6
Image:32px-Ambox_warning_orange.png

Nota

Além dos códigos de resposta acima, há todas as respostas HTTP padrões como: 404 (página não encontrada), 500 (erro do servidor), 403 (acesso proibido).


Exemplo de uso:

forward SampResponse(index, response_code, data[]);
 
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp("/sa-mp",cmdtext,true))
    {
        HTTP(playerid, HTTP_GET, "sa-mp.com/return.txt", "", "SampResponse");
        return 1;
    }
    return 0;
}
 
public SampResponse(index, response_code, data[])
{
    new
        buffer[ 128 ];
    if(response_code == 200) //Verifica se houve sucesso na requisição
    {
        format(buffer, sizeof(buffer), "A resposta foi: %s", data);
        SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
    else
    {
        format(buffer, sizeof(buffer), "A requisição falhou! O código de resposta foi: %d", response_code);
        SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
}
Personal tools
Navigation
Toolbox