HTTP
Egy HTTP lekérést küld.
Paraméterek: index
type
url[]
data[]
callback[]
Magyarázat:index - Különbözõ lekérésekhez használjuk, ezek lesznek elküldve a callbackeknek. (Playerid is használható)
type - A lekérés fajtája
url[] - Az URL ahonnan le szeretnél kérni. (http:// nélkül)
data[] - Bármilyen adat amit el szeretnél küldeni a lekéréssel
callback[] - A callback neve amit használni szeretnél a lekérés válaszának kezelésére.
Visszatérés - 1, ha sikeres. 0, ha nem.
A lekérés fajtái:HTTP_GET - Egy szabályos HTTP lekérést küld.
HTTP_POST - Egy HTTP lekérést küld adatokkal.
HTTP_HEAD - Egy szabályos HTTP lekérést küld, de figyelmen kívül hagyja az adatokat. A response code-dal tér vissza.
Response code-ok: 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
FONTOS: Itt is vannak tipikus HTTP válaszok. 404 (Az oldal nem található), 500 (Szerver hiba), 403 (Tiltott).Megjegyzés - A függvény 0.3b-ben lett hozzáadva. Azelõtti verziókkal nem mûködik.
Példa a használatra: forward MyHttpResponse(index, response_code, data[]);
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(\"/hello\",cmdtext,true)) // ha beírja a /hello parancsot
{
HTTP(playerid, HTTP_GET, \"kc.gd/hello.txt\", \"\", \"MyHttpResponse\"); // elküldjük a lekérést
return 1;
}
return 0;
}
public MyHttpResponse(index, response_code, data[])
{
// Ebben a callbackben az \"index\" a \"playerid\".
new
buffer[ 128 ];
if(response_code == 200) // A lekérdezés sikerült?
{
//Igen!
format(buffer, sizeof(buffer), \"The URL replied: %s\", data);
SendClientMessage(index, 0xFFFFFFFF, buffer);
}
else
{
//Nem!
format(buffer, sizeof(buffer), \"The request failed! The response code was: %d\", response_code);
SendClientMessage(index, 0xFFFFFFFF, buffer);
}
}
Eredeti téma:
http://wiki.sa-mp.com/wiki/HTTP