Szerző Téma: HTTP  (Megtekintve 890 alkalommal)

Nem elérhető JBauer

  • 1407
    • Profil megtekintése
HTTP
« Dátum: 2013. július 31. - 12:15:28 »
+1 Show voters
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

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal