exponenta event banner

matlab.net.http.RequestMessage класс

Пакет: matlab.net.http
Суперклассы: matlab.net.http.Message

Сообщение запроса HTTP

Описание

Используйте RequestMessage для форматирования сообщений запроса HTTP, отправляемых на сервер для обработки. Используйте send метод для отправки сообщения или complete для проверки сообщения перед отправкой. Эти методы заполняют все необходимые поля заголовка и другие свойства сообщения.

Атрибуты класса

Sealed
true

Сведения об атрибутах класса см. в разделе Атрибуты класса.

Создание

Описание

obj = matlab.net.http.RequestMessage создает сообщение запроса со значениями по умолчанию. При отправке или заполнении сообщения по умолчанию Method свойство - RequestMethod.GET.

пример

obj = matlab.net.http.RequestMessage(method,header,body) указывает одно или несколько необязательных свойств сообщения. Можно опустить конечные аргументы и использовать [] для указания любых местозаполнителей.

obj = matlab.net.http.RequestMessage(requestLine,header,body) устанавливает RequestLine свойство для requestLine. Этот синтаксис используется при необходимости управления содержимым строки запроса. Например, чтобы отправить сообщение явно прокси-серверу, установите RequestLine.RequestTarget к полному URI. В противном случае MATLAB выбирает прокси-сервер на основе настроек прокси-сервера, и send метод устанавливает RequestTarget в Path свойство URI.

obj = matlab.net.http.RequestMessage(requestLine,header,provider) получает данные тела сообщения из matlab.net.http.io.ContentProvider.

Свойства

развернуть все

Строка запроса, указанная как matlab.net.http.RequestLine объект или строковый или символьный вектор, содержащий метод, целевой объект и версию протокола. Эта строка автоматически создается при отправке сообщения на основе указанного метода и URI. Если это свойство задано явно, его содержимое используется в качестве строки запроса. Значение может быть установлено в RequestLine или к строке, которая анализируется и преобразуется в RequestLine объект.

Пример: 'GET HTTP/1.1'

Атрибуты:

GetAccess
public
SetAccess
public
Dependent
true

Метод запроса, указанный как matlab.net.http.RequestMethod перечисление или строковый или символьный вектор, представляющий метод запроса. Чтобы отправить сообщение, установите RequestMessage.Method свойства или RequestLine.Method собственность.

Пример: 'GET'

Атрибуты:

GetAccess
public
SetAccess
public
Dependent
true

Заголовок сообщения, указанный как matlab.net.http.HeaderField объект или вектор HeaderField объекты. При установке Header MATLAB ® проверяет поля заголовка, чтобы убедиться, что они соответствуют типу сообщения. RequestMessage send и complete методы заполняют все необходимые поля заголовка для правильно сформированного запроса.

Атрибуты:

GetAccess
public
SetAccess
public

Текст сообщения, указанный как matlab.net.http.MessageBody объект, matlab.net.http.io.ContentProviderили данные, приемлемые для MessageBody конструктор. По умолчанию Body пуст (задано значение []). Сообщение запроса, содержащее Body свойство обычно использует метод, такой как 'PUT' или 'POST', а не значение по умолчанию 'GET', но эта конвенция не соблюдается.

В завершенном или принятом сообщении, если сообщение имеет ContentTypeField поле заголовка, затем MessageBody.ContentType свойство имеет это значение. В противном случае ContentType неизменен или пуст.

Атрибуты:

GetAccess
public
SetAccess
public

Завершено ли сообщение, указано как true или false. A true значение означает, что сообщение было завершено.

Методы проверки сообщений (RequestMessage.send и RequestMessage.complete) установите Completed свойство для true после:

  • Определение допустимости сообщения.

  • Завершение обработки, например, добавление необходимых полей заголовка и преобразование данных.

Если свойство имеет значение true, то эти методы не изменяют сообщение, и send метод отправляет сообщение без проверки его достоверности. Любое изменение этого сообщения после этого изменяет Completed свойство возвращается к false.

Чтобы отправить произвольные заголовки и данные в сообщении запроса, установите Completed кому true для предотвращения send от изменения сообщения. Вы по-прежнему можете использовать complete метод для проверки сообщения, но send метод отправляет его, является ли он действительным.

Если сообщение запроса содержит данные ( Body.Data свойство не пусто), то Completed имеет значение true только если Body.Payload содержит необработанные данные. В ответном сообщении полезная нагрузка устанавливается только при указании HTTPOptions.SavePayload собственность.

Атрибуты:

GetAccess
public
SetAccess
public
Transient
true

Типы данных: logical

Начальная строка сообщения, указанная как matlab.net.http.StartLine объект.

Атрибуты:

GetAccess
public
SetAccess
public

Методы

развернуть все

Примеры

свернуть все

Отформатируйте HTTP-сообщение, запрашивающее сервер добавить текст на веб-сайт. Этот пример только форматирует сообщение и не отправляет данные.

Добавление содержимого в текст сообщения.

data = 'Data to send';
body = matlab.net.http.MessageBody(data);
body.show
Data to send

Создайте поле заголовка Content-Type, описывающее тип данных тела.

contentTypeField = matlab.net.http.field.ContentTypeField('text/plain');

Создайте поле заголовка Accept, указывающее типы данных, допустимые в ответном сообщении.

type1 = matlab.net.http.MediaType('text/*');
type2 = matlab.net.http.MediaType('application/json','q','.5');
acceptField = matlab.net.http.field.AcceptField([type1 type2]);

Создайте заголовок запроса, содержащий два поля заголовка.

header = [acceptField contentTypeField];

Укажите, что это сообщение является запросом PUT.

method = matlab.net.http.RequestMethod.PUT;

Создайте сообщение запроса и просмотрите его содержимое.

request = matlab.net.http.RequestMessage(method,header,body);
show(request)
PUT
Accept: text/*, application/json; q=.5
Content-Type: text/plain

Data to send
Представлен в R2016b