HTTP
From SA-MP Wiki
Description:
Sends a threaded HTTP request.
(index, type, url[], data[], callback[])
index | ID used to differentiate requests that are sent to the same callback (useful for playerids) |
type | The type of request you wish to send. |
url[] | The URL you want to request. (Without 'http://') |
data[] | Any POST data you want to send with the request. |
callback[] | Name of the callback function you want to use to handle responses to this request. |
Return Values:
1 on success, 0 on failure
Request types
HTTP_GET - Sends a regular HTTP request.
HTTP_POST - Sends a HTTP request with POST data.
HTTP_HEAD - Sends a regular HTTP request, but ignores any response data - returning only the response code.
Response Codes
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
Note | As well as the response codes listed above, there are also all of the typical HTTP responses such as 404 (Page not found), 500 (Server error) or 403 (forbidden) |
Example Usage:
forward MyHttpResponse(index, response_code, data[]); public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp("/hello",cmdtext,true)) { HTTP(playerid, HTTP_GET, "kc.gd/hello.txt", "", "MyHttpResponse"); return 1; } return 0; } public MyHttpResponse(index, response_code, data[]) { // In this callback "index" would normally be called "playerid" ( if you didn't get it already :) ) new buffer[ 128 ]; if(response_code == 200) //Did the request succeed? { //Yes! format(buffer, sizeof(buffer), "The URL replied: %s", data); SendClientMessage(index, 0xFFFFFFFF, buffer); } else { //No! format(buffer, sizeof(buffer), "The request failed! The response code was: %d", response_code); SendClientMessage(index, 0xFFFFFFFF, buffer); } }