Форум

  • Страница 1 из 1
  • 1
Модератор форума: valych  
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Информация для новичков » Использование инклуда a_http
Использование инклуда a_http
Инклуд a_http предназначен для отправки HTTP запросов серверам, поддерживающим данную возможность
еще одна особенность этого инклуда - многопоточность (т.е можно отправлять сразу несколько запросов)

Всего существует 3 типа HTTP запросов, поддерживаемых данным инклудом:

Code
HTTP_GET (1) - запрос, сохраняющий все тело страницы в массив data[] (узнаете что за массив по ходу чтения)
HTTP_POST (2) - запрос, добавляющий информацию на страницу (информация предварительно записывается константой в массив data[])
HTTP_HEAD (3) - можно сказать, бесполезен


так же, по обычаю, и возникают ошибки в запросах, вот коды ошибок, возвращаемых response_code (о response_code узнаете по ходу чтения)

Code
200...299 - запрос успешно выполнен
  300...399 - запрос перенаправлен
400...499 - нужна авторизация
500...599 - серверная ошибка
HTTP_ERROR_BAD_HOST (1) - невозможно соединиться: URL указан неверно
HTTP_ERROR_NO_SOCKET (2) - невозможно соединиться: нет соединения с интернетом, или сервер не может открыть сокет для соединения
HTTP_ERROR_CANT_CONNECT (3) - что то похожее на п.1 и п.2
HTTP_ERROR_CANT_WRITE (4) - ошибка: нет прав на запись
HTTP_ERROR_CONTENT_TOO_BIG (5) - ошибка: невозможно записать данные в массив data[] (слишком много данных)
HTTP_ERROR_MALFORMED_RESPONSE (6) - ошибка: неверный запрос


у инклуда единственная функция - HTTP
рассмотрим ее поближе:

Code
HTTP(index, type, url[], data[], callback[]);  


index - индекс запроса (обычно = 0)
type - тип запроса (см. выше)
url[] - адрес сервера, куда отправлять запрос (пример: "http://mysite.govnoucoz.ru/")
data[] - если у запроса тип HTTP_POST, то сюда нужно записать тело запроса
callback[] - здесь нужно записать коллбэк на паблик (читаем далее)

в функции разобрались. теперь нужно создать паблик ответа (если используется HTTP_GET)
пример паблика:

Code
forward MyHttpPublic(index, response_code, data[]);
public MyHttpPublic(index, response_code, data[])
{
...
}


index - индекс, указанный в функции
response_code - код ответа от сервера (см. выше)
data[] - если у запроса тип HTTP_GET, то сюда записывается информация, взятая с URL

Автор:BJIADOKC
22.08.2012 в 02:24
для чего это?
опишите пож пример применения.
06.03.2013 в 22:08
С помощью данного инклуда можно отправлять сообщения(например, на некоторых серверах требуют ввести свой e-mail на всякий случай, если нужно будет восстановить пароль)
06.03.2013 в 23:03
ух долго искал ёма

Добавлено (31.08.2013, 12:48)
---------------------------------------------
ух долго искал ёма

31.08.2013 в 12:48
Форум | www.SAMP-TEAM.com » Wiki SA-MP » Информация для новичков » Использование инклуда a_http
  • Страница 1 из 1
  • 1
Поиск: