// Для создания, соединения, настройки, закрытия
procedure open(url: String);
Создает соединение с указаным url.
procedure set_property(key, value: string);
Устанавливает свойство key c значением value.
procedure set_method(s: String);
Метод GET или POST
procedure set_body(s: String);
Устанавливает текст запроса для метода POST
function request(): integer;
Устанавливает соединение и возвращает ответ сервера.
function get_field(key: String): string;
Возвращает значение заголовка по названию key от сервера.
function get_fieldvalue(int s): string;
Возвращает значение заголовка по индексу или пустую строку, если индекс превышен.
function get_fieldkey(int s): string;
Возвращает название заголовка по индексу или пустую строку, если индекс превышен.
function get_cookie(): string;
Возвращает ВСЕ cookie одной строкой.
procedure close();
Закрывает соединение, очищает все данные.
// Для установленного соединения
function get_data_bg(): integer;
Возвращает значение состояния загрузки данных.
0 - загрузка данных еще продолжается.
1 - загрузка данных окончена. Данные могут быть получены через get_data() или get_stream()
procedure get_data_stop();
Останавливает процесс загрузки данных. Закрывает соединение, а загруженные данные можно получить через get_stream();
function get_stream(): string;
Возвращает значение входного потока. Все данные которые загружены на данный момент.
function get_data(): string;
Ожидает окончания загрузки всех данных и возвращает загруженные данные.
Получение больших данных может занимать много времени, программа будет простаивать, лучше использовать get_data_bg или get_stream.
// Авто
procedure q_property(key, value: string);
Устанавливает свойство key c значением value для функции q_request.
function q_request(url, method, body, gz: string): integer;
Создает соединение с url, методом method и телом body, вспомогательным параметром gz и возвращает ответ сервера.
Заголовки предварительно установить с помощью q_property.
Параметр gz может иметь слудующие значения:
"gzip" - если сервер поддерживает сжатие, загружает данные в сжатом виде gzip, get_datа вернет распакованные данные, в случае ошибки распаковки ничего.
"auto" - аналогично gzip, но в случае ошибки распаковки автоматически перезагрузить указанный url в несжатом виде.
"none" - используется обычная загрузка без сжатия.
Также автоматически определяет кодировку и перекодирует при возможности входные данные.
Поддерживает UTF-8, и кириллические русские Windows-1251, ISO-8859-5, MacCyrillic, KOI8-R
Функия поддерживает автоматическую переадресацию.
function q_get_uri(): string;
Возвращает URI соединения, например, в случае переадресации URL. Или пустую строчку.
// Вспомогательные
function get_error(): string;
После выполнения процедуры, возвращает описание ошибки, или пустую строчку если нет ошибки.
function gunzip(gz_d: string): string;
Возвращает распакованный архив из строки gz_d.
function gz_ratio(): integer;
После распаковки возвращает степень сжатия.
function str2rs(s: String): resource
Переводит строчку s в ресурс.
function rs2str(res: resource): string;
Переводит ресурс res в строчку.
function encode(s, e, def: String): string;
Возвращает строку s в кодировке e. В случае невозможности перекодировки возвращает строчку def.
Параметр e может быть "utf-8", "Windows-1251", "ISO-8859-5","MacCyrillic", "KOI8-R"
function base64_encode(String encoded): string;
Возвращает закодированную строку encoded в формате base64.
function base64_decode(String decoded): string;
Возвращает раскодированную строку decoded в формате base64.