Вы можете позвонить webread
из заданных вами функций. Лучшая практика состоит в том, чтобы позволить вашей функции передать HTTP запроса опций в webread
.
Эта выборка кода показывает, как загрузить данные о климате для страны. Эта выборка определяет функцию в файле с именем worldBankTemps.m
который загружает годовые температуры из World Bank и преобразует их в степени Фаренгейта. Вы можете передать дополнительные параметры HTTP запроса с помощью options
входной параметр. options
является weboptions
объект, который worldBankTemps
переходит к webread
. Можно вызвать worldBankTemps
с именем страны, только если вам не нужно задавать какие-либо другие параметры HTTP- запроса.
function temperatures = worldBankTemps(country,options) % Get World Bank temperatures for a country, for example, 'USA'. api = 'http://climatedataapi.worldbank.org/climateweb/rest/v1/'; api = [api 'country/cru/tas/year/']; country = [api country]; % The options object contains additional HTTP % request parameters. If worldBankTemps was % not passed options as an input argument, % create a default weboptions object. if ~exist('options','var') options = weboptions; end s = webread(country,options); % Convert data to arrays temperatures = struct('Years',[],'DegreesInFahrenheit',[]); temperatures(1).Years = [s.year]; temperatures(1).DegreesInFahrenheit = [s.data]; % Convert temperatures to Fahrenheit temperatures(1).DegreesInFahrenheit = temperatures(1).DegreesInFahrenheit * 9/5 + 32; end
Чтобы получить данные о температуре для США, позвоните worldBankTemps
. Если подключение к веб-сервису World Bank истекает, служба возвращает сообщение об ошибке.
S = worldBankTemps('USA')
Error using webread (line 112) The connection to URL 'http://climatedataapi.worldbank.org/climateweb/rest/v1/country/cru/tas/year/USA' timed out after 5.0 seconds. Set options.Timeout to a higher value.
Если вы создаете options
и установите его Timeout
свойство до 60 секунд, затем можно вызвать worldBankTemps
снова с options
как входной параметр. worldBankTemps
проходит options
кому webread
как входной параметр. На этот раз webread
сохраняет соединение открытым в течение не более 60 секунд.
options = weboptions('Timeout',60); S = worldBankTemps('USA',options)
S = Years: [1x112 double] DegreesInFahrenheit: [1x112 double]
Если ваш код не позволяет вам передавать опции запроса в webread
, что ограничивает вашу способность реагировать на сообщения об ошибке, возвращаемые веб-сервисами.
Когда вы используете функцию веб-сервиса в MATLAB® функция может вернуть сообщение об ошибке, которое советует вам задать свойство options
, таких как options.Timeout
. В этой таблице показаны некоторые типичные сообщения об ошибке, которые ссылаются на options
свойства и действия, которые вы можете предпринять в ответ.
Сообщение об ошибке содержит фразу | Действие, которое должно быть предпринято |
---|---|
|
|
|
|
. . . |
|