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

Пакет: matlab.net.http
Суперклассы: matlab.net.http. Сообщение

Сообщение запроса 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.

Пример: 'ПОЛУЧИТЕ HTTP/1.1'

Атрибуты:

GetAccess

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

SetAccess

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

DependentD

tRUE

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

Пример: получение

Атрибуты:

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

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

Методы

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

Примеры

свернуть все

Отформатируйте сообщение 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

Была ли эта тема полезной?