exponenta event banner

getFields

Класс: matlab.net.http.Message
Пакет: matlab.net.http

Возвращать поля заголовка сообщения, соответствующие имени или классу

Описание

пример

[fields,indices] = getFields(messages,ids) возвращает поля и их индексы в сообщениях, соответствующих заданным идентификаторам.

Входные аргументы

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

Сообщения, указанные как вектор matlab.net.http.Message объекты.

Пример: getFields([msg1,msg2],'Date')

Имена для сопоставления, указанные как одно из следующих.

  • Строковый вектор, символьный вектор, массив ячеек символьных векторов или разделенный запятыми список строк или символьных векторов, содержащих имена возвращаемых полей. Имена не чувствительны к регистру.

  • Векторный или разделенный запятыми список одного или нескольких matlab.net.http.HeaderField объекты, Name используются для определения возвращаемых полей. Имена не чувствительны к регистру. Значения полей заголовка в этих объектах игнорируются.

  • Векторный или разделенный запятыми список meta.class объекты, являющиеся подклассами HeaderField.

    getFields метод выполняет поиск имен, соответствующих именам, поддерживаемым указанными классами, независимо от класса. Если подкласс не имеет определенного набора поддерживаемых имен, все поля заголовка этого подкласса сопоставляются независимо от их имен. Позвоните в HeaderField.displaySubclasses для просмотра поддерживаемых имен.

Пример: getFields(response,'Date','Content-Type')

Выходные аргументы

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

Поля, соответствующие входным данным, возвращаемые в виде массива matlab.net.http.HeaderField объекты. Если совпадений не существует, getFields возвращает пустой HeaderField массив. Поиск имен не учитывает регистр.

Индексные значения полей, возвращаемые как массив целых чисел, или [] если нет совпадений.

Если messages является вектором, то getFields возвращает поля, соответствующие ids из всех сообщений. indices - клеточный массив векторов, где indices{i} содержит индексы соответствующих полей в messages{i}.

Примеры

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

Добавление отсутствующего поля заголовка Date в сообщение запроса с помощью RequestMessage.complete способ.

Создайте сообщение запроса для получения текста с веб-сайта MathWorks.

uri = matlab.net.URI('https://www.mathworks.com');
req = matlab.net.http.RequestMessage;

Убедитесь, что сообщение содержит поле Date. Значение даты отражает системную информацию. Стоимость indices{1} = [] указывает, что req не содержит поля Date.

request = complete(req,uri);
[fields,indices] = getFields([req,request],?matlab.net.http.field.HTTPDateField)
fields = 
  DateField with properties:

     Name: "Date"
    Value: "Tue, 23 Mar 2021 21:10:08 GMT"

indices=1×2 cell array
    {0x0 double}    {[3]}

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