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

Пакет: matlab.net.http

Поле Header сообщения HTTP

Описание

Используйте класс HeaderField, чтобы реализовать поле заголовка для сообщения HTTP. Класс обеспечивает преобразования между строками в заголовке и объектах MATLAB®, массивах и структурах. Несмотря на то, что можно установить свойства HeaderField на произвольные значения, поля HTTP-заголовка имеют ограничения на допустимые символы.

Свойство Name задает тип поля заголовка. MATLAB обеспечивает подклассы для обычно используемых полей в пакете matlab.net.http.field. Чтобы видеть список поддерживаемых подклассов, вызовите метод HeaderField.displaySubclasses.

Создание

Описание

пример

obj = matlab.net.http.HeaderField(name,value) создает поле заголовка с набором свойств Name к name и набором свойств Value к value. Любой аргумент может быть пустым двойным, []. Можно задать несколько пар аргумента в любом порядке как name1,value1,...,nameN,valueN. Если последний аргумент value отсутствует, то HeaderField обрабатывает его как пустой.

Свойства

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

Имя поля заголовка, заданное как строка или вектор символов. Name определяет тип поля, которое определяет допустимые значения для свойства Value. Если вы устанавливаете Name на [] или пустую строку, то Value является [].

Если этот объект является экземпляром подкласса, реализующего определенный тип поля заголовка, то тот класс осуществляет ограничения на свойство Name.

Пример: 'Content-Type'

Атрибуты:

GetAccess

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

SetAccess

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

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

Когда вы читаете это свойство, Value является строкой, представляющей значение в поле.

Когда вы устанавливаете это свойство, Value является любым типом, приемлемым для поля на основе свойства Name и/или класса этого объекта. Результат преобразован в строку. Если тип поля имеет значение по умолчанию, установите Value на пустую строку ('' или string('')). Если вы задаете пустое двойное, [], то сообщение запроса send и методы complete не добавляет это поле в сообщение.

Пример: 'text/html'

Атрибуты:

GetAccess

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

SetAccess

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

Зависимый

tRUE

Методы

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

Примеры

свернуть все

Чтобы создать поле заголовка Типа контента, используйте или класс HeaderField или конструктора класса ContentTypeField.

Когда вы используете конструктора класса HeaderField, вы задаете свойство Name как 'Content-Type'. Однако, если вы пишете имя поля c ошибкой, вы не можете узнать об ошибке, пока сервер не отклоняет сообщение. Некоторые серверы тихо игнорируют неизвестные имена полей.

f1 = matlab.net.http.HeaderField('Content-Type','text/plain');

Используя ContentTypeField предпочтен конструктор класса, потому что вы не можете написать имя поля c ошибкой.

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

Если свойства Value являются тем же самым, то поля равны, независимо от которого конструктора вы используете.

f1 == f2
ans =   1

Этот пример показывает, как определить местоположение определенного поля Cache-Control заголовка в ответе под эгидой mathworks.com.

Отправьте сообщение в mathworks.com.

request = matlab.net.http.RequestMessage;
uri = matlab.net.URI('https://www.mathworks.com');
response = send(request,uri);

Ищите Cache-Control и отобразите значение.

field = response.getFields('Cache-Control');
value = field.Value
value = 
"max-age=14400"

Советы

  • Конструктор HeaderField создает поля класса HeaderField. Чтобы создать поле класса, заданного в пакете matlab.net.http.field, используйте конструктора подкласса вместо этого. Для списка подклассов вызовите метод HeaderField.displaySubclasses.

    Например, подкласс matlab.net.http.field.DateField создает поле заголовка Даты. Если вы используете класс HeaderField, чтобы создать Поле даты, класс DateField интерпретирует и осуществляет значение, даже при том, что HeaderField не является экземпляром DateField. Аналогично, если вы преобразовываете значение поля в значение datetime MATLAB, метод DateField.convert используется.

  • Если конструктор HeaderField отклоняет аргументы Name и Value, используйте конструктора класса GenericField вместо этого.

Смотрите также

Введенный в R2017b