Инклуд 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