websave

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

Описание

пример

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

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

пример

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

пример

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

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

Примеры

свернуть все

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

url = 'http://heritage.stsci.edu/2007/14/images/p0714aa.jpg';
filename = 'jupiter_aurora.jpg';
outfilename = websave(filename,url)
outfilename =

C:\Libraries\Documents\jupiter_aurora.jpg

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

Поисковый Обмен файлами для файлов загрузил в течение прошлых семи дней, которые содержат слово 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. Любезность данных о солнечном пятне американской Ассоциации Переменных Звездообразных Наблюдателей (AAVSO), первоначально опубликованный в количествах Солнечного пятна AAVSO: 1943-2013, AAVSO Солнечный Раздел (Р. Хоу, Стул). (См. Политику конфиденциальности NGDC, Правовую оговорку, и Авторское право на условия использования NGDC и Солнечный Раздел AAVSO для условий использования AAVSO.)

Отправьте запрос POST HTTP, чтобы искать Обмен файлами файлы, загруженные в течение прошлых семи дней, которые содержат слово Simulink. Сохраните результаты поиска к файлу HTML.

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

Много веб-сервисов предоставляют метод POST для того, чтобы запросить данные в дополнение к GET.

Сохраните Синий Мрамор: изображение Следующего поколения на декабрь 2004 от Наблюдения Земли НАСА (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.

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

Считайте данные 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 к веб-сервису, заданному как вектор символов или скаляр строки. Веб-сервис реализует интерфейс RESTful. Смотрите УСПОКОИТЕЛЬНЫЙ для получения дополнительной информации.

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

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

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

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

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

Больше о

свернуть все

RESTful

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

Советы

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

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

Введенный в R2014b