Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (30 – Web-клиенты, часть 11)

предыдущая часть ««»» следующая часть

Поле заголовка HTTP может быть многозначным. Например, в поле Cookie: кли­ентского запроса могут содержаться все данные cookie, назначенные клиенту сервером. Значения многозначных полей можно устанавливать, используя в качестве па­раметра ссылку на массив или передавая строку, в которой значения разделены запятыми. В следующем примере устанавливается поле Accept:, представляющее собой многозначный список типов MIME, которые готова принять клиентская программа.

$request->header(Accept =>[ 'text/html','text/plain','text/rtf' ])

Иным образом, для установки значений многозначных полей можно использовать метод push_header (), описанный ниже.

$request->push_header ($field => $value)

Метод push_header () добавляет указанное значение к концу поля, создавая его, если оно не существует, и преобразуя в многозначное, если оно является однозначным. Параметр $value, может представлять собой скаляр или ссылку на массив.

$request->remove_header (@fields)

Метод remove_header () удаляет указанные поля.

Ряд методов, перечисленных ниже, предоставляет удобные средства для работы с полями заголовка. Следующие три метода позволяют устанавливать и изучать информационное наполнение одного запроса.

$request->content ([$ content] )         

$request-> content_ref

Метод content ( ) устанавливает информационное наполнение исходящего запроса. При вызове без параметра он возвращает текущее значение информационного наполнения, если оно имеется. Метод content_ref () возвращает ссылку на информационное наполнение и может применяться для непосредственной манипуляции этим информационным наполнением.

При отправке запроса из заполняемой формы на динамическую Web-страницу с помощью метода post, метод content () служит для установки строки запроса и вызывает метод content_type () для установки значения параметра mime type, равного application/x-www-form-urlecoded или multipart/form-data.

Можно также создавать информационное наполнение динамически, передавая методу ссылку на фрагмент кода, который возвращает информационное наполнение. Библиотека повторно вызывает указанную подпрограмму до тех пор, пока она не возвратит пустую строку. Данное средство удобно для передачи запросов по методу put на FTP-серверы и запросов по методу POST на почтовые серверы и серверы службы новостей, например, для поиска статей по теме - Лучшие планшеты Мира. Однако его неудобно использовать с IP-серверами, поскольку поле Content-Length: должно быть заполнено еще до отправки заголовков. Если длина динамически создаваемого информационного наполнения известна заранее, то длину этого поля можно установить с использованием метода content_length ().

$request->scan(&sub)

Метод scan (перебирает в цикле все поля заголовка HTTP, вызывая подпрограмму, ссылка на которую задана параметром &sub. Указанная подпрограмма вызывается с двумя параметрами, со­стоящими из имени поля и его значения. При обработке многозначных полей эта подпрограмма вы­зывается для каждого значения.

$request->date ()
$request->expires()
$request->last_ modified ()
$request->if_modified__since ()
$request“>conteht_type ( )
$request->content_length ()
$request->referer()
$request->user_agent()

Эти методы принадлежат к семейству, состоящему из 19 вспомогательных методов, которые позволяют получать и устанавливать значения наиболее часто применяемых однозначных полей. При вызове без параметра они возвращают текущее значение поля, а при вызове с одним параметром останавливают значение поля. В методах, предусматривающих работу с датами, применяется системный формат времени, аналогичный возвращаемому функцией time ().



2014-03-15 14:43:46

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония