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

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

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

Описание

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

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

Изолированный

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

общественность

SetAccess

общественность

Зависимый

tRUE

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

Пример: 'GET'

Атрибуты:

GetAccess

общественность

SetAccess

общественность

Зависимый

tRUE

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

Атрибуты:

GetAccess

общественность

SetAccess

общественность

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

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

Атрибуты:

GetAccess

общественность

SetAccess

общественность

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

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

  • Решение, что сообщение допустимо.

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

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

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

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

Атрибуты:

GetAccess

общественность

SetAccess

общественность

Переходный процесс

tRUE

Типы данных: логический

Обменивайтесь сообщениями запускают строку, заданную как объект matlab.net.http.StartLine.

Атрибуты:

GetAccess

общественность

SetAccess

общественность

Методы

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

Примеры

свернуть все

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

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

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

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

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

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

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

Введенный в R2017b