Skip to main content

HTTP

Deskripcija

Šalje navojni HTTP zahtjev.

ImeDeskripcija
indexID koji se koristi za razlikovanje zahtjeva koji se šalju na isti povratni poziv/callback (korisno za playids)
typeTip zahtjeva koji želite poslati.
url[]URL koji želite zatražiti. (Bez 'http://')
data[]Sve POST podatke koje želite poslati sa zahtjevom.
callback[]Ime funkcije povratnog poziva/callbacka koju želite koristiti za obradu odgovora na ovaj zahtjev.

Returns

1 pri uspjehu, 0 pri grešci

Definicije

// HTTP requests
#define HTTP_GET (1) // Šalje običan HTTP zahtjev.
#define HTTP_POST (2) // Šalje HTTP zahtjev s POST podacima.
#define HTTP_HEAD (3) // Šalje običan HTTP zahtjev, ali zanemaruje sve podatke o odgovoru - vraća samo kod odgovora.
// HTTP kodovi odgovora na greške
// Ovi kodovi dopunjuju uobičajene HTTP kodove odgovora vraćene u 'response_code'
// (10x) (20x OK) (30x Pomjereno) (40x Neovlašteno) (50x Server Error)
#define HTTP_ERROR_BAD_HOST (1)
#define HTTP_ERROR_NO_SOCKET (2)
#define HTTP_ERROR_CANT_CONNECT (3)
#define HTTP_ERROR_CANT_WRITE (4)
#define HTTP_ERROR_CONTENT_TOO_BIG (5)
#define HTTP_ERROR_MALFORMED_RESPONSE (6)

Primjeri

forward MyHttpResponse(index, response_code, data[]);

public OnPlayerCommandText(playerid, cmdtext[])
{
if (!strcmp("/hello",cmdtext,true))
{
HTTP(playerid, HTTP_GET, "assets.open.mp/hello.txt", "", "MyHttpResponse");
return 1;
}
return 0;
}

public MyHttpResponse(index, response_code, data[])
{
// U ovom povratnom pozivu "index" bi se obično zvao "playerid" (ako ga već niste dobili :))
new
buffer[ 128 ];
if (response_code == 200) //Da li je zahtjev uspio?
{
//Da!
format(buffer, sizeof(buffer), "URL je odgovorio: %s", data);
SendClientMessage(index, 0xFFFFFFFF, buffer);
}
else
{
//Ne!
format(buffer, sizeof(buffer), "Zahtjev nije uspio! Šifra odgovora bila je: %d", response_code);
SendClientMessage(index, 0xFFFFFFFF, buffer);
}
}

Zabilješke

tip

Kao i gore navedeni kodovi odgovora, postoje i svi tipični HTTP odgovori kao što su 404(Stranica nije pronađena), 500(Greška servera) ili 403(zabranjena)

Srodne Funkcije