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

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

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

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

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public
Transient
true

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

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

Атрибуты:

GetAccess
public
SetAccess
public

Методы

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

Примеры

свернуть все

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