matlab.net.http.RequestMessage class

Пакет: 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® проверяет поля заголовка, чтобы убедиться, что они соответствуют типу сообщения. The 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