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.

Веб-сервис обеспечивает RESTful, который возвращает данные, отформатированные как интернет-тип носителя, такие как 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, как задано веб-сервисом Хаббла, даже когда вы даете filename различное расширение. (Любезность Юпитера изображений НАСА, ЕКА и Команды Наследия Хаббла (STScI/AURA). Смотрите Информационный центр Наследия Хаббла для условий использования.)

Поисковый Exchange Файла для файлов загрузил в течение прошлых 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, чтобы искать Exchange Файла файлы, загруженные в течение прошлых 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 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. Смотрите 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/', 'термин', 'simulink') получает список файлов, загруженных на Exchange Файла, которые содержат слово simulink, и сохраняет результаты поиска в файл HTML.

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

Больше о

свернуть все

RESTful

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

Советы

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

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

Введенный в R2014b

Была ли эта тема полезной?