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 ("http://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 ("http://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–2023 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/v9.2.0/WWW-Access.html