Руководство разработчика

Объектный тип HTTP

Физический объектный тип c закрытой моделью.

Тип HTTP предназначен для отправки HTTP запросов.

Физическая часть типа HTTP содержит соединение к серверу, которое может не закрываться сразу после выполнения одного запроса, а сохраняться и потом использоваться повторно. При выполнении большого числа запросов при помощи одного и того же объекта это экономит ресурсы как клиента, так и сервера, особенно если используется протокол HTTPS.

Тип HTTP поддерживает cookies: если сервер устанавливает их, они будут запомнены и отправлены при последующих запросах от того же объекта.

Поддерживаются как и обобщенные HTTP запросы, с получением данных и их отправкой через файлы (метод ЗАПРОС_ФАЙЛ), так и специализированные. На данный момент реализована удобная поддержка XML-RPC запросов, с заданием параметров значениями внутреннего языка. Преобразование этих значений в требуемый протоколом формат и наоборот осуществлятся модулем. Возможно добавление поддержки других протоколов.

Поля

Тип Поле Описание Значение по умолчанию
СТРОКА urlURL ресурса. Указание протокола обязательно (http или https).
СТРОКА content_typeТип отправляемого на сервер содержимого. Нужен при работе через ЗАПРОС_ФАЙЛ при использовании отправляющих данные действий HTTP (POST, PUT). По умолчанию – значение, нужное для XML-RPC. Если отправлять content-type не нужно, задайте пустую строку. "text/xml"
СТРОКА: @[СТРОКА] заголовкиДополнительные заголовки HTTP для отправки на сервер.
HTTP_ПОЛЕ_ФОРМЫ: @[] поля_формыДанные формы для отправки в теле POST запроса (по аналогии с curl --form) как multipart/form-data. Используется только при вызове метода ЗАПРОС_ФАЙЛ и указании входного файла как "*".
СТРОКА логинИмя пользователя для запросов, требующих авторизации на сервере (аналогично curl --user "login:password").
СТРОКА парольПароль пользователя, имя которого указано в поле логин.
ЦЕЛОЕ таймаут_соединенияТаймаут соединения с сервером. 20000
ЦЕЛОЕ таймаут_полученияТаймаут получения данных. 20000
ЛОГИКА отладкаЗадайте ДА для отображения отладочных сообщений в соответствующем окне (аналогично curl --verbose).
СТРОКА лог_файлЗадает имя log файла для записи отладочных сообщений. Может указываться как вместе с полем отладка=ДА, так и отдельно.
СТРОКА тип_трасс Позволяет указать режим вывода отладочной информации (трассировки).
  • Значение "bin" применяется для трассировки двоичных данных (аналогично curl --trace). Двоичные данные выводятся столбиками шестнадцатеричных значений байтов (как в hex-редакторах файлов).
  • Значение "ascii" применяется для трассировки текстовых данных (аналогично curl --trace-ascii). Не ASCII символы при выводе заменяются точкой.
  • По умолчанию используется режим диагностики и вывод заголовков (аналогично curl --verbose). Для входных и выходных данных в этом режиме выводится только размер в байтах.
Эти три режима являются взаимоисключающими.
ЛОГИКА трасс_времяВывод времени в начале строк отладочных сообщений (аналогично curl --trace-time).
ПАРАМ_ПРОКСИ проксиПараметры прокси-сервера.
СТРОКА ошибка_сетиЕсли при выполнении запроса произошла ошибка уровня сетевого взаимодействия, сообщение о ней будет записано сюда.
ЦЕЛОЕ код_ответаКод ответа протокола HTTP. Как правило, значения начиная с 400 означают ошибку. Но т.к. некоторые сервера выдают HTTP код ошибки даже в случае корректной обработки запроса, модуль эту проверку сам не делает.
СТРОКА ошибкаСообщение об ошибке. Заносится сюда, если в используемом протоколе встроена передача сообщения об ошибке (это так для XML-RPC). Также для специализированных методов (ЗАПРОС_XMLRPC) сюда записываются сообщения об неверном формате ответа сервера.
ЦЕЛОЕ ошибка_кодАналогично, код ошибки.
СТАТУС_ СЕТЕВОЙ_ ОПЕРАЦИИ статусИнтерфейс для получения информации о процессе получения и отправки данных.

Методы

МетодОписание
ЗАПРОС_ФАЙЛ Общий HTTP запрос. Данные отправляются через файл или строку, а получаются в файл.
ЗАПРОС_СТР Общий HTTP запрос. Данные отправляются через файл или строку, а получаются в строку.
ЗАПРОС_XMLRPC Выполняет XMLRPC запрос; параметры задаются значениями внутреннего языка.
СЧИТАТЬ_COOKIES Получает список всех cookies для текущей HTTP сессии.
ЗАКРЫТЬ Закрывает текущую HTTP сессию.

См. также: