websave

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

Синтаксис

outfilename = websave(filename,url)
outfilename = websave(filename,url,QueryName1,QueryValue1,...,QueryNameN,QueryValueN)
outfilename = websave(___,options)

Описание

пример

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). Смотрите Информационный центр Наследия Хаббла для условий использования.)

Поисковый Обмен файлами для файлов загрузил в течение прошлых 7 дней, которые содержат слово 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, чтобы искать Обмен файлами файлы, загруженные в течение прошлых 7 дней, которые содержат слово 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. Чтобы отправить запрос POST с содержимым любого другого интернет-типа носителя, используйте webwrite.

Введенный в R2014b