36.4.2 Доступ к WWW
Octave может взаимодействовать с веб-сайтами через Интернет. Функция web запустит внешний веб-браузер для интерактивного просмотра сайта. Остальные функции—urlread, urlwrite, webread, webwrite—являются внутренними функциями Octave, которые могут импортировать или экспортировать данные в/из Octave и веб-сайт, идентифицированный URL (Uniform Resource Locator).
- : status = web () ¶
- : status = web (url) ¶
- : status = web (url, option) ¶
- : status = web (url, option_1, …, option_N) ¶
- : [status, h, url] = web (…) ¶
-
Открыть url в стандартном веб-браузере системы.
Без аргументов открывается адрес https://www.octave.org.
Дополнительные параметры могут быть переданы для совместимости с MATLAB, но игнорируются.
- ‘-browser’ Открыть url в стандартном браузере системы.
- ‘-new’ Без эффекта на системный браузер.
- ‘-noaddressbox’ Без эффекта на системный браузер.
- ‘-notoolbar’ Без эффекта на системный браузер.
Возвращаемое значение status имеет одно из значений:
- ‘0’ Успешно найден и открыт системный браузер.
- ‘1’ Системный браузер не найден.
- ‘2’ Системный браузер найден, но произошла ошибка.
Возвращаемые значения handle и url в настоящее время не реализованы, но указаны для совместимости.
См. также: weboptions, webread, webwrite, urlread, urlwrite.
- : s = urlread (url) ¶
- : [s, success] = urlread (url) ¶
- : [s, success, message] = urlread (url) ¶
- : […] = urlread (url, method, param) ¶
-
Загрузить удаленный файл, указанный его url, и вернуть его содержимое в строке s.
Например:
s = urlread ("ftp://ftp.octave.org/pub/README");Переменная success равна 1, если загрузка прошла успешно, в противном случае равна 0, и в этом случае message содержит сообщение об ошибке.
Если не указан ни один аргумент вывода и произошла ошибка, то ошибка сигнализируется через механизм обработки ошибок Octave.
Эта функция использует libcurl. Curl поддерживает, среди прочих, протоколы HTTP, FTP и FILE. Имя пользователя и пароль могут быть указаны в URL. Например:
s = urlread ("http://user:password@example.com/file.txt");GET и POST запросы могут быть заданы method и param. Параметр method — это либо ‘get’, либо ‘post’, а param — это массив ячеек пар «параметр-значение». Например:
s = urlread ("http://www.google.com/search", "get", {"query", "octave"});См. также: urlwrite.
- : urlwrite (url, localfile) ¶
- : f = urlwrite (url, localfile) ¶
- : [f, success] = urlwrite (url, localfile) ¶
- : [f, success, message] = urlwrite (url, localfile) ¶
-
Загрузить удаленный файл, указанный его url, и сохранить его как localfile.
Например:
urlwrite ("ftp://ftp.octave.org/pub/README", "README.txt");Полный путь загруженного файла возвращается в f.
Переменная success равна 1, если загрузка прошла успешно, в противном случае равна 0, и в этом случае message содержит сообщение об ошибке.
Если не указан ни один аргумент вывода и произошла ошибка, то ошибка сигнализируется через механизм обработки ошибок Octave.
Эта функция использует libcurl. Curl поддерживает, среди прочих, протоколы HTTP, FTP и FILE. Имя пользователя и пароль могут быть указаны в URL, например:
urlwrite ("http://username:password@example.com/file.txt", "file.txt");GET и POST запросы могут быть заданы method и param. Параметр method — это либо ‘get’, либо ‘post’, а param — это массив ячеек пар «параметр-значение». Например:
urlwrite ("http://www.google.com/search", "search.html", "get", {"query", "octave"});См. также: urlread.
- : response = webread (url) ¶
- : response = webread (url, name1, value1, …) ¶
- : response = webread (…, options) ¶
-
Чтение содержимого из RESTful веб-сервиса.
Чтение содержимого из веб-сервиса, указанного url, и возвращение содержимого в response.
Все пары «ключ-значение», заданные (name1, value1, …), добавляются как параметры запроса к url. Для размещения запроса в теле сообщения используйте
webwrite. Веб-сервис определяет допустимые параметры запроса.options — это
weboptionsобъект, который может использоваться для добавления других параметров HTTP-запроса. Этот аргумент может быть использован с любой формой вызова. См.help weboptionsдля полного списка поддерживаемых HTTP-параметров.См. также: weboptions, webwrite.
- : response = webwrite (url, name1, value1, …) ¶
- : response = webwrite (url, data) ¶
- : response = webwrite (…, options) ¶
-
Запись данных в RESTful веб-сервисы.
Запись содержимого в веб-сервис, указанный url, и возвращение ответа в response.
Все пары «ключ-значение», заданные (name1, value1, …), добавляются как пары параметров запроса к телу метода запроса (
get,post,put, и т.д.).options — это
weboptionsобъект, который может использоваться для добавления других параметров HTTP-запроса. Этот аргумент может быть использован с любой формой вызова. См.help weboptionsдля полного списка поддерживаемых HTTP-параметров.См. также: weboptions, webread.
- : output = weboptions () ¶
- : output = weboptions (name1, value1, …) ¶
-
Укажите параметры для RESTful веб-служб.
weboptionsбез входных данных возвращает объект по умолчаниюweboptions, чтобы указать параметры для запроса к веб-службе. Объектweboptionsможет быть необязательным входным аргументом для функцийwebreadиwebwrite.Несколько аргументов типа имя-значение могут быть указаны в любом порядке, как name1, value1, name2, value2 и т. д.
Имена параметров должны точно совпадать с одним из указанных в таблице ниже.
Доступны следующие параметры:
- ‘CharacterEncoding’ — Укажите кодировку символов данных:
‘auto’ (по умолчанию), ‘UTF-8’, ‘US-ASCII’ ‘auto’ выбирает кодировку на основе типа контента данных.
- ‘UserAgent’ — Укажите User Agent для подключения.
Значение по умолчанию — ‘GNU Octave/версия’, где ‘версия’ — текущая версия Octave, возвращаемая функцией
version. - ‘Timeout’ — Укажите значение таймаута для подключения в секундах.
По умолчанию 10 секунд. ‘Inf’ в настоящее время не поддерживается.
- ‘Username’ — Идентификатор пользователя для базового HTTP-соединения.
По умолчанию NULL. Должен быть строкой.
- ‘Password’ — Пароль пользователя для аутентификации по HTTP-соединению.
По умолчанию NULL. Должен быть строкой или символьной строкой. Примечание для программистов: Если вы отображаете объект
weboptionс установленным свойством Password, значение отображается как строка, содержащая'*'. Однако объект хранит значение свойства Password как обычный текст. - ‘KeyName’ — Укажите имя дополнительного ключа, который нужно добавить в заголовок HTTP-запроса. Должен использоваться вместе с ‘KeyValue’. Должен быть строкой или символьной строкой.
- ‘KeyValue’ — Укажите значение ключа ‘KeyName’.
‘KeyName’ должен присутствовать, чтобы присвоить значение этому полю.
- ‘HeaderFields’ — Укажите поля заголовка для соединения.
Имена и значения полей заголовка, заданные как m×2 массив строк или ячейковый массив символьных векторов для добавления в заголовок HTTP-запроса. HeaderFields{i,1} — имя поля, а HeaderFields{i,2} — его значение.
weboptions ("HeaderFields", {"Content-Length" "78";"Content-Type" "application/json"}) Creates a weboptions object that contains two header fields: Content-Length with value 78 and Content-Type with value application/json. - ‘ContentType’ — Укажите тип контента данных.
Доступны следующие значения: ‘auto’, ‘text’, ‘json’
По умолчанию ‘auto’. Автоматически определяет тип контента. Все другие форматы, такие как ‘audio’, ‘binary’ и т. д., доступные в MATLAB, в настоящее время не поддерживаются.
- ‘ContentReader’ — Пока не реализовано. Только для совместимости с MATLAB.
- ‘MediaType’ — Пока не реализовано. Только для совместимости с MATLAB.
- ‘RequestMethod’ — Указывает тип запроса.
Доступны следующие методы: ‘get’, ‘put’, ‘post’, ‘delete’, ‘patch’
webreadиспользует HTTP-метод GET.webwriteпо умолчанию использует HTTP-метод POST. - ‘ArrayFormat’ – Пока не реализовано. Только для совместимости с MATLAB.
- ‘CertificateFilename’ — Пока не реализовано. Только для совместимости с MATLAB.
- ‘CharacterEncoding’ — Укажите кодировку символов данных:
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v7.2.0/WWW-Access.html