Для начала расскажу о функции:
Функция доступна с 0.3b версии
с помощью неё мы можем брать текст из интернета и он будет виден в сампе(возможно и другие применения)
Параметры функции:
Типы запросов(type):Код:(index, type, url[], data[], callback[]) index - ID (playerid,giveplayerid) type - тип запроса который вы хотите отправить url[] - URL запроса (без "http://") data[] - любое сообщение данных которое будет отправлено с запросом callback[] - Название функции обратного вызова если вы хотите использовать для обработки ответов на этот запрос.
Коды ответов:Код:HTTP_GET - Отправляет запрос на http. HTTP_POST - Отправляет запрос с данными. HTTP_HEAD - Отправляет запрос HTTP, но игнорирует любые данные ответа - возвращение только код ответа.
А так же стандартные коды ответов:Код: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
Пример:Код:HTTP 404 (страница не найдена), 500 (ошибка сервера) или 403 (запрещено)
В начале где все инклуды:
СоздаёмPHP код:#include <a_http>
вPHP код:forward MyHttpResponse(index, response_code, data[]);
добавляемPHP код:public OnPlayerCommandText(playerid, cmdtext[])
Далее куда нибудь в конец:PHP код:if(!strcmp("/hello",cmdtext,true))
{
HTTP(playerid, HTTP_GET, "www.killerchutney.com/hello.txt", "", "MyHttpResponse");
return 1;
}
Если все сделали верно то должно прислать(после ввода команды(/hello):Ответ:Hello there! Congratulations on your first HTTP request from within SA-MP!PHP код:public MyHttpResponse(index, response_code, data[])
{
new buffer[ 128 ];
if(response_code == 200) //Запрос успешен?
{
//Да!
format(buffer, sizeof(buffer), "Ответ: %s", data);
SendClientMessage(index, 0xFFFFFFFF, buffer);
}
else
{
//нет!
format(buffer, sizeof(buffer), "Сбой в запросе,код ответа: %d", response_code);
SendClientMessage(index, 0xFFFFFFFF, buffer);
}
}
Автор перевода:TAP04eGG


Ответить с цитированием