websave

Сохраните содержимое из веб-сервиса RESTful в файл

Описание

пример

outfilename = websave(filename,url) сохраняет содержимое из веб-сервиса, заданного url и записывает его в filename. websave функция возвращает полное filename путь как outfilename.

Веб-сервис предоставляет RESTful, который возвращает данные, форматированные как тип интернет-носителя, такой как JSON, XML, изображение или текст.

пример

outfilename = websave(filename,url,QueryName1,QueryValue1,...,QueryNameN,QueryValueN) добавляет параметры запроса к url, заданный одной или несколькими парами аргументов в виде имя-значение. Веб-сервис определяет параметры запроса.

пример

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

websave поддерживает методы HTTP GET и POST. Чтобы отправить запрос HTTP POST, укажите RequestMethod свойство options как 'post'. Многие веб-сервисы обеспечивают как методы GET, так и POST для запроса данных.

Примеры

свернуть все

Сохраните изображение Юпитера с сайта Hubble Heritage.

url = 'https://hubblesite.org/uploads/image_file/image_attachment/14836/compass_large_web.jpg';
filename = 'jupiter_aurora.jpg';
outfilename = websave(filename,url)
outfilename =

C:\Libraries\Documents\jupiter_aurora.jpg

websave сохраняет изображение в виде файла JPEG, как задано веб-сервисом Hubble, даже когда вы даете filename другой внутренний номер. (Изображение Юпитера предоставлено НАСА, ЕКА и Hubble Heritage Team (STScI/AURA). Условия использования см. в Институте космических телескопов).

Поиск файлов Exchange для файлов, загруженных в течение последних семи дней, которые содержат слово Simulink® и отобразите результаты поиска.

url = 'https://www.mathworks.com/matlabcentral/fileexchange/';
filename = 'simulink_search.html';
outfilename = websave(filename,url,'term','simulink','duration',7)
outfilename =

C:\Libraries\Documents\simulink_search.html

Отображение HTML файла в веб-браузере.

web(outfilename)

Сохраните данные о пятне солнца из Национального центра геофизических данных (NGDC) в ASCII-файл. Использование weboptions объект, чтобы задать значение тайм-аута Inf чтобы соединение не было тайм-аутом.

api = 'http://www.ngdc.noaa.gov/stp/space-weather/';
url = [api 'solar-data/solar-indices/sunspot-numbers/' ...
       'american/lists/list_aavso-arssn_yearly.txt'];
filename = 'sunspots_annual.txt';
options = weboptions('Timeout',Inf);
outfilename = websave(filename,url,options)
outfilename =

C:\Libraries\Documents\sunspots_annual.txt

Агрегированные данные и веб-сервис предоставлены NGDC. Данные Sunspot предоставлены Американской ассоциацией переменных звездных наблюдателей (AAVSO), первоначально опубликованной в AAVSO Sunspot Counts: 1943-2013, AAVSO Solar Section (R. Howe, Chair). (Смотрите Политику конфиденциальности NGDC, Отказ от ответственности и Авторские права для условий использования NGDC, и Solar Section AAVSO для условий использования AAVSO.)

Сохраните Синий Мрамор: Следующее Генерации изображение на декабрь 2004 года с Сервиса веб-карт NASA Earth Observation (NEO).

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

url = 'http://neowms.sci.gsfc.nasa.gov/wms/wms';
D = datetime(2004,12,01,'Format','yyyy-MM-dd');
filename = 'BlueMarble.jpg';
outfilename = websave(filename,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')
outfilename =

C:\Libraries\Documents\BlueMarble.jpg

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

Голубой мрамор: следующая генерация + топография и батиметрия изображение предоставлено НАСА Earth Observatory. Доступ к изображениям и услугам, предоставляемым Сервису веб-карт ОСЗ (WMS). (Смотрите наблюдения Земли НАСА для кредита и условий использования. Для параметров запроса WMS выполните поиск на сайте NASA Earth Observations, WMS 1.3.0 Capabilities.)

Чтение данных JSON с веб-сайта и сохранение в файловой test.txt.

uri = matlab.net.URI('http://httpbin.org/get');
websave('test.txt',uri,weboptions('ContentType','json'));

Считайте текст из файла в структуру данных JSON.

js = jsondecode(fileread('test.txt'))
js = 

  struct with fields:

       args: [1×1 struct]
    headers: [1×1 struct]
     origin: '144.444.4.4'
        url: 'http://httpbin.org/get'

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

свернуть все

Имя файла для сохранения содержимого, заданное как вектор символов или строковый скаляр. websave сохраняет содержимое как есть. websave игнорирует options.ContentType и options.ContentReader, даже если эти свойства заданы.

Пример: websave('matlabcentral.html','https://www.mathworks.com/matlabcentral') считывает веб-страницу и сохраняет ее HTML в файл matlabcentral.html.

URL-адрес веб-сервиса, заданный как вектор символов или строковый скаляр. Включите протокол передачи. Только http и https поддерживаются. Веб-сервис реализует интерфейс RESTful. Для получения дополнительной информации см. RESTful.

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

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

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

Пример: websave('webread_search.html','https://www.mathworks.com/matlabcentral/fileexchange/','term','simulink') извлекает список файлов, загруженных в File Exchange и содержащих это слово simulink и сохраняет результаты поиска в HTML файла.

Дополнительные HTTP- запроса опций, заданные как weboptions объект. Для всех опций запроса, которые weboptions свойства, см. weboptions.

Подробнее о

свернуть все

УСПОКОИТЕЛЬНЫЙ

REST означает передачу представительного состояния, общий архитектурный стиль для веб-сервисов. RESTful-интерфейсы обеспечивают стандартные HTTP-методы, такие как GET, PUT, POST или DELETE.

Совет

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

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

Введенный в R2014b