webread

Считайте содержимое из веб-сервиса RESTful

Описание

пример

data = webread(url) содержимое чтений из веб-сервиса задано url и возвращает содержимое в data.

Веб-сервис обеспечивает УСПОКОИТЕЛЬНОЕ, которое возвращает данные, отформатированные как интернет-тип носителя, такой как JSON, XML, изображение или текст.

пример

data = webread(url,QueryName1,QueryValue1,...,QueryNameN,QueryValueN) добавляет параметры запроса к url, как задано одной или несколькими парами аргументов name-value. Чтобы поместить запрос в тело сообщения, использовать webwrite. Веб-сервис задает параметры запроса.

пример

data = webread(___,options) добавляют другие опции запроса HTTP, заданные weboptions объект options. Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.

Чтобы возвратить данные как определенный выходной тип, задайте ContentType свойство options.

Чтобы считать содержимое с функцией, задайте ContentReader свойство options как указатель на функцию. webread данные о загрузках из веб-сервиса и считывают данные с заданной функцией:

  • Если вы задаете указатель на функцию, которая возвращает несколько выходных аргументов, webread возвращает все выходные аргументы.

  • Если вы задаете указатель на функцию, которая не возвращает выходного аргумента (такого как функция Image Processing Toolbox™ @implay для видеофайлов), webread не возвращает выходного аргумента.

[data,colormap,alpha] = webread(___) читает изображение из веб-сервиса, заданного url и возвращает изображение в data. Можно использовать предыдущие синтаксисы, чтобы возвратить изображение только. Используйте этот синтаксис, чтобы возвратить палитру и альфа-каналы, сопоставленные с изображением.

webread возвращает изображение, когда ответ HTTP имеет Content-Type поле заголовка, которое задает тип носителя изображений и если imread поддерживает формат изображения. Для поддерживаемых форматов изображения смотрите Поддерживаемые Форматы файлов для Импорта и экспорта.

[data,Fs] = webread(___) аудиоданные чтений из веб-сервиса заданы url и возвращает аудиоданные в data. Можно использовать предыдущие синтаксисы, чтобы возвратить аудиоданные только. Используйте этот синтаксис, чтобы возвратить частоту дискретизации аудиоданных в герц.

webread возвращает аудиоданные, когда ответ HTTP имеет Content-Type поле заголовка, которое задает аудио тип носителя и если audioread поддерживает формат аудио. Для поддерживаемых форматов аудио смотрите Поддерживаемые Форматы файлов для Импорта и экспорта.

Примеры

свернуть все

В этом примере показано, как считать изображение из веб-сайта и отобразить его.

Считайте данные изображения

httpsUrl = 'https://requestserver.mathworks.com';
imageUrl = strcat(httpsUrl, '/assets/computerVision.jpg');
rgb = webread(imageUrl);
whos rgb
  Name        Size                Bytes  Class    Attributes

  rgb       360x640x3            691200  uint8              

Измените размер и изображение на дисплее

rgb = imresize(rgb, 0.6);
imshow(rgb)

В этом примере показано, как считать температуры из csv файл данных.

Считайте данные из файла CSV

httpsUrl = "https://requestserver.mathworks.com";
dataUrl = strcat(httpsUrl, "/assets/weatherStation.csv");
data = webread(dataUrl);
time = [data.Time];
temp = [data.TempF];

Отобразите температурный график

plot(time, temp)
xlabel("Time")
ylabel("Temperature (Farenheit)")
title("Temperature Over Time");
axis padded

В этом примере показано, как выбрать использование записи параметры запроса.

Просмотрите структуру базы данных сотрудника

Отобразите поля базы данных employee.

httpsUrl = "https://requestserver.mathworks.com";
employeeUrl = strcat(httpsUrl, "/employee");
fieldnames(webread(employeeUrl))
ans = 6×1 cell
    {'id'        }
    {'firstName' }
    {'lastName'  }
    {'occupation'}
    {'age'       }
    {'city'      }

Выберите Employee by firstName и lastName

jSmith = webread(employeeUrl, "firstName", "John", "lastName", "Smith");
disp(jSmith);
            id: 1
     firstName: 'John'
      lastName: 'Smith'
    occupation: 'Software Engineer'
           age: '32'
          city: 'Boston'

В этом примере показано, как возвратить данные как определенный тип.

Чтение данных

httpUrl  = "http://requestserver.mathworks.com";
employeeUrl = strcat(httpUrl, "/employee");

Возвратите запись как символьный массив

Создайте weboptions объект и набор его ContentType к 'text'. webread функция преобразует объект JSON в символьный массив.

options = weboptions("ContentType", "text");
sBrown = webread(employeeUrl, "firstName", "Sarah", options);
disp(sBrown)
[{"id":2,"firstName":"Sarah","lastName":"Brown","occupation":"Software Engineer","age":"28","city":"New York"}]

Входные параметры

свернуть все

URL к веб-сервису в виде вектора символов или строкового скаляра. Включайте протокол передачи. Только http и https поддерживаются. Веб-сервис реализует интерфейс RESTful. Смотрите УСПОКОИТЕЛЬНЫЙ для получения дополнительной информации.

Пример: webread('https://www.mathworks.com/matlabcentral') читает веб-страницу и возвращает ее HTML как символьный массив.

Параметры запроса веб-сервиса в виде одной или нескольких пар аргументов name-value. QueryName аргумент должен задать имя параметра запроса как вектор символов или строковый скаляр. QueryValue аргумент должен быть вектором символов, строковым скаляром, или числовым, логическим, или datetime значение, которое задает значение параметра запроса. Числовой, логический, и datetime значения могут быть в массивах. Веб-сервис задает пары "имя-значение", которые он принимает как часть запроса.

Когда вы задаете QueryValue как datetime объект, необходимо задать его Format свойство так, чтобы это было сопоставимо с форматом, требуемым веб-сервисом. Если Format свойство включает часовой пояс или смещение и datetime объект не зонируется, затем webread задает 'Local' как часовой пояс.

Когда QueryValue содержит несколько значений в массиве, вы можете должны быть задать ArrayFormat свойство a weboptions возразите, чтобы сформироваться - кодируют массив, как задано веб-сервисом.

Пример: webread('https://www.mathworks.com/matlabcentral/fileexchange/','term','webread') получает список файлов, загруженных на Обмен файлами, которые содержат слово webread.

Дополнительные опции запроса HTTP в виде a weboptions объект.

Можно задать ContentType свойство a weboptions объект и передача объект как входной параметр к webreadто webread возвращает data как тот тип выхода. Таблица приводит допустимые типы контента, которые можно задать в a weboptions объект.

ContentType Спецификатор

'OutputType'

'auto' (значение по умолчанию)

Выходной тип, автоматически определенный на основе типа контента, задан сервером.

'text'

Вектор символов для типов контента:

text/plain
text/html
text/xml
application/xml
application/javascript
application/x-javascript
application/x-www-form-urlencoded

Если веб-сервис возвращает MATLAB® файл с .m расширение, функция возвращает свое содержимое как вектор символов.

'image'

Числовая или логическая матрица для image/format содержимое. Если первым выходным аргументом является индексируемое изображение, вторым выходным аргументом является палитра, и третьим выходным аргументом является альфа-канал.

Для поддерживаемых форматов изображения смотрите Поддерживаемые Форматы файлов для Импорта и экспорта.

'audio'

Числовая матрица для audio/format содержимое с частотой дискретизации числового скаляра как второй выходной аргумент.

Для поддерживаемых форматов аудио смотрите Поддерживаемые Форматы файлов для Импорта и экспорта.

'binary'

uint8 вектор-столбец для бинарного содержимого (то есть, содержимое, которое не будет обработано как тип char).

'table'

Скалярный объект таблицы для электронной таблицы и CSV (text/csv) содержимое.

'json'

char, числовой, логический, структура или массив ячеек, для application/json содержимое.

'xmldom'

Java® Узел Объектной модели документа (DOM) для text/xml или application/xml содержимое. Если не заданный, функция возвращает содержание XML как вектор символов.

'raw'

char вектор-столбец для 'text', 'xmldom', и 'json' содержимое. Функция возвращает любой другой тип контента как uint8 вектор-столбец.

Смотрите weboptions для всех опций запроса, которые являются weboptions свойства.

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

свернуть все

Чтение содержимого из веб-сервиса, возвращенного как скаляр, массив, структура или таблица.

Палитра сопоставлена с индексируемым изображением, возвращенным как числовой массив.

Альфа-каналы сопоставлены с индексируемым изображением, возвращенным как числовой массив.

Частота дискретизации аудиоданных в герц, возвращенном в виде положительного числа.

Больше о

свернуть все

RESTful

REST означает представительную передачу состояния, общий архитектурный стиль для веб-сервисов. УСПОКОИТЕЛЬНЫЕ интерфейсы предоставляют стандартные методы HTTP, такие как GET, PUT, POST или DELETE.

Советы

  • Для функциональности, не поддержанной функциями веб-сервисов RESTful, смотрите Интерфейс HTTP.

  • webread методы HTTP GET и POST поддержек. Много веб-сервисов обеспечивают и GET и методы POST, чтобы запросить данные. Чтобы отправить запрос POST HTTP, задайте RequestMethod свойство options как 'post'. Однако webread помещает опции запроса в url, не в теле сообщения запроса. Чтобы поместить запрос в тело, использовать webwrite.

  • Для запросов POST HTTP, webread функционируйте поддерживает только application/x-www-form-urlencoded 'MediaType' . Чтобы отправить запрос POST с содержимым любого другого интернет-типа носителя, использовать webwrite.

  • Эта функция не исследует содержимое документа, чтобы определить, как обработать ее. Например, HTML и XML-документы часто содержат <meta> пометьте, который задает кодировку символов документа. Если кодирование отличается от значения по умолчанию webread кодирование, затем задайте правильный CharacterEncoding опция в weboptions.

  • Чтобы задать настройки прокси-сервера, смотрите Аутентификацию Прокси-сервера.

Введенный в R2014b