webread

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

Описание

пример

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

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

пример

data = webread(url,QueryName1,QueryValue1,...,QueryNameN,QueryValueN) добавляет параметры запроса к url, как задано одной или несколькими парами аргументов значения имени. Чтобы поместить запрос в тело сообщения, использовать 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 поддерживает формат аудио. Для поддерживаемых форматов аудио смотрите Поддерживаемые Форматы файлов для Импорта и экспорта.

Примеры

свернуть все

Считайте изображение Юпитера от веб-сайта Наследия Хаббла и отобразите его.

url = 'https://hubblesite.org/uploads/image_file/image_attachment/14836/compass_large_web.jpg';
rgb = webread(url);
whos rgb
  Name        Size                Bytes  Class    Attributes

  rgb       500x500x3            750000  uint8              

Измените размер и отобразите изображение.

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

Любезность Юпитера изображений НАСА, ЕКА и Команды Наследия Хаббла (STScI/AURA). Для условий использования смотрите Научный Институт Космического телескопа.

Считайте температурные данные для США из Climate Data API World Bank. Постройте температуры с лет 1901–2012.

Считайте данные из World Bank. Этот API возвращает данные как объект JSON.

api = 'http://climatedataapi.worldbank.org/climateweb/rest/v1/';
url = [api 'country/cru/tas/year/USA'];
S = webread(url)
S = 

112x1 struct array with fields:

    year
    data

webread преобразует объект JSON в массив структур. Каждая структура содержит год и среднюю температуру в США в течение того года, в градусах Цельсия.

Отобразите температуру в течение первого года.

S(1)
ans = 

    year: 1901
    data: 6.6187

Постройте средние температуры. Конкатенация S.year и S.data в массивы и строят их.

year = [S.year];
data = [S.data];
plot(year,data)
xlabel('Year');
ylabel('Temperature (Celsius)');
title('USA Average Temperatures')
axis tight

API и любезность данных World Bank: Climate Data API. (См. World Bank: Climate Data API для получения дополнительной информации о API и World Bank: Условия использования.

Ищите Обмен файлами файлы, загруженные в течение прошлых семи дней, которые содержат слово Simulink®.

Задайте параметры запроса. webread добавляет имена параметра запроса веб-сервиса и значения к URL. Веб-сервис File Exchange задает term и duration параметры запроса, не webread функция.

url = 'https://www.mathworks.com/matlabcentral/fileexchange/';
data = webread(url,'term','simulink','duration',7);

webread возвращает HTML для страницы результата поиска как символьный массив.

Задайте дополнительную опцию запроса, чтобы считать данные от Climate Data API World Bank до символьного массива.

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

api = 'http://climatedataapi.worldbank.org/climateweb/rest/v1/';
url = [api 'country/cru/tas/year/USA'];
options = weboptions('ContentType','text');
data = webread(url,options);
data(1:62)
ans =

[{"year":1901,"data":6.6187487},{"year":1902,"data":6.4643273}

API и любезность данных World Bank: Climate Data API. (См. World Bank: Climate Data API для получения дополнительной информации о API и World Bank: Условия использования.

Считайте Синий Мрамор: изображение Следующего поколения на декабрь 2004 от Наблюдения Земли НАСА (NEO) сервис веб-карт.

Задайте дату требуемого изображения с datetime объект. Задайте Format свойство D так, чтобы формат совпадал с форматом, требуемым веб-сервисом.

url = 'http://neowms.sci.gsfc.nasa.gov/wms/wms';
D = datetime(2004,12,01,'Format','yyyy-MM-dd');
rgb = webread(url,'Time',D, ...
     'Service','WMS','Layers','BlueMarbleNG-TB','CRS','CRS:84', ...
     'Format','image/jpeg','Height',256,'Width',512, ...
     'BBOX','-180.0,-90.0,180.0,90.0','Version','1.3.0','Request','GetMap');
imshow(rgb)

webread преобразует datetime объекты так, чтобы они могли быть значениями параметров запроса веб-сервиса. Все пары "имя-значение" в примере обеспечивают параметры запроса, заданные сервисом веб-карт NEO.

Синий Мрамор: Следующее поколение + Топография и Батиметрия отображает любезность Наземной Обсерватории НАСА. Доступ к формированию изображений и услугам, предоставленным сервисом веб-карт (WMS) NEO. (См. наблюдения Земли НАСА для кредита и условий использования. Для параметров запроса WMS ищите сайт наблюдений Земли НАСА, WMS 1.3.0 Возможности.)

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

свернуть все

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

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

Параметры запроса веб-сервиса в виде одной или нескольких пар аргументов значения имени. 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® Document Object Model (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