36.4.2 Доступ к WWW
Octave может взаимодействовать с веб-сайтами в интернете. Функция web запустит внешний веб-браузер для интерактивного просмотра сайта. Остальные функции—urlread, urlwrite, webread, webwrite—являются внутренними функциями Octave, которые могут импортировать или экспортировать данные в/из Octave и веб-сайт, идентифицированный URL (Uniform Resource Locator).
- : статус = web ()
- : статус = web (url)
- : статус = web (url, параметр)
- : статус = web (url, параметр_1, …, параметр_N)
- : [статус, h, url] = web (…)
-
Открыть url в стандартном веб-браузере системы.
Без аргументов открывается адрес https://www.octave.org.
Дополнительные параметры могут быть переданы для совместимости с MATLAB, но игнорируются.
- ‘-browser’ Открыть url в стандартном браузере системы.
- ‘-new’ Без эффекта на браузер системы.
- ‘-noaddressbox’ Без эффекта на браузер системы.
- ‘-notoolbar’ Без эффекта на браузер системы.
Возвращаемое значение статус имеет одно из значений:
- ‘0’ Успешно найден и открыт браузер системы.
- ‘1’ Браузер системы не найден.
- ‘2’ Браузер системы найден, но произошла ошибка.
Возвращаемые значения handle и url в настоящее время не реализованы, но указаны для совместимости.
См. также: weboptions, webread, webwrite, urlread, urlwrite.
- : s = urlread (url)
- : [s, успех] = urlread (url)
- : [s, успех, сообщение] = urlread (url)
- : […] = urlread (url, метод, параметр)
-
Загрузка удаленного файла, указанного его url, и возвращение его содержимого в строке s.
Например:
s = urlread ("ftp://ftp.octave.org/pub/README");Переменная успех равна 1, если загрузка прошла успешно, иначе 0, в этом случае сообщение содержит сообщение об ошибке.
Если не указан аргумент вывода и произошла ошибка, то ошибка сигнализируется через механизм обработки ошибок Octave.
Эта функция использует libcurl. Curl поддерживает, среди прочих, протоколы HTTP, FTP и FILE. Имя пользователя и пароль могут быть указаны в URL. Например:
s = urlread ("http://user:password@example.com/file.txt");GET и POST запросы могут быть указаны методом и параметром. Параметр метод — это ‘get’ или ‘post’, а параметр — это массив ячеек пар параметр-значение. Например:
s = urlread ("http://www.google.com/search", "get", {"query", "octave"});См. также: urlwrite.
- : urlwrite (url, локальный_файл)
- : f = urlwrite (url, локальный_файл)
- : [f, успех] = urlwrite (url, локальный_файл)
- : [f, успех, сообщение] = urlwrite (url, локальный_файл)
-
Загрузить удаленный файл, указанный его url, и сохранить его как локальный_файл.
Например:
urlwrite ("ftp://ftp.octave.org/pub/README", "README.txt");Полный путь загруженного файла возвращается в f.
Переменная успех равна 1, если загрузка прошла успешно, иначе 0, в этом случае сообщение содержит сообщение об ошибке.
Если не указан аргумент вывода и произошла ошибка, то ошибка сигнализируется через механизм обработки ошибок Octave.
Эта функция использует libcurl. Curl поддерживает, среди прочих, протоколы HTTP, FTP и FILE. Имя пользователя и пароль могут быть указаны в URL, например:
urlwrite ("http://username:password@example.com/file.txt", "file.txt");GET и POST запросы могут быть указаны методом и параметром. Параметр метод — это ‘get’ или ‘post’, а параметр — это массив ячеек пар параметр-значение. Например:
urlwrite ("http://www.google.com/search", "search.html", "get", {"query", "octave"});См. также: urlread.
- : ответ = webread (url)
- : ответ = webread (url, имя1, значение1, …)
- : ответ = webread (…, параметры)
-
Чтение содержимого из RESTful веб-сервиса.
Чтение содержимого из веб-сервиса, указанного url, и возвращение содержимого в ответ.
Все пары ключ-значение, заданные (имя1, значение1, …), добавляются в качестве параметров запроса к url. Чтобы разместить запрос в теле сообщения, используйте
webwrite. Веб-сервис определяет допустимые параметры запроса.параметры — это
weboptionsобъект, который может быть использован для добавления других опций HTTP-запроса. Этот аргумент может быть использован в любом формате вызова. См.help weboptionsдля полного списка поддерживаемых HTTP-опций.См. также: weboptions, webwrite.
- : ответ = webwrite (url, имя1, значение1, …)
- : ответ = webwrite (url, данные)
- : ответ = webwrite (…, параметры)
-
Запись данных в RESTful веб-сервисы.
Запись содержимого в веб-сервис, указанный url, и возвращение ответа в ответ.
Все пары ключ-значение, заданные (имя1, значение1, …), добавляются как пары параметров запроса в тело запроса (
get,post,put, и т.д.).параметры — это
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/v6.4.0/WWW-Access.html