exponenta event banner

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

Пакет: matlab.net.http

Поле заголовка сообщения 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
public
SetAccess
public

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

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

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

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

Атрибуты:

GetAccess
public
SetAccess
public
Dependent
true

Методы

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

Примеры

свернуть все

Для создания поля заголовка Content-Type используйте либо HeaderField класс или ContentTypeField конструктор класса.

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

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

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

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 подкласс создает поле заголовка Date. Если вы используете HeaderField класс для создания поля Date, DateField класс интерпретирует и применяет значение, хотя HeaderField не является экземпляром DateField. Аналогично, при преобразовании значения поля в MATLAB datetime значение, значение DateField.convert используют способ.

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

Представлен в R2016b