exponenta event banner

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

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

Сохраните изображение Blue Marble: Next Generation за декабрь 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.

Синий мрамор: Следующее поколение + Топография и батиметрия изображение предоставлено Обсерваторией Земли НАСА. Доступ к изображениям и услугам, предоставляемым Службой веб-картирования ОСЗ (WMS). (См. NASA Earth Observations для оценки и условий использования. Параметры запроса 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 свойство weboptions объект для form-кодирования массива, как указано веб-службой.

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

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

Подробнее

свернуть все

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

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

Совет

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

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

Представлен в R2014b