Octave可以通过互联网与网站进行通信。web函数将启动一个外部网页浏览器以交互方式查看网站。
其余函数—urlread、urlwrite、webread、
webwrite—是Octave内部函数,可以经由URL(统一资源定位符)在Octave与网站之间导入或导出数据。
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的兼容性,但这些选项会被忽略。
返回值status的取值如下:
返回值handle和url目前尚未实现, 仅为兼容性而提供。
参见: weboptions, webread, webwrite, urlread, urlwrite。
s = urlread (url) ¶s = urlread (url, Name, Value, …) ¶[s, success] = urlread (url, …) ¶[s, success, message] = urlread (url, …) ¶通过其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:[email protected]/file.txt");
可以使用属性/值对指定额外的选项:
Get用于GET请求参数的名称/值对元胞数组。
Post用于POST请求参数的名称/值对元胞数组。
Timeout超时时间,单位为秒。
UserAgent请求的用户代理字符串。
Username用于身份验证的用户名。
Password用于身份验证的密码。
Charset字符编码(已存储但当前未使用)。
使用属性/值对的示例:
s = urlread ("http://www.example.com/data",
"Get", {"term", "octave"}, "Timeout", 10);
为向后兼容,也支持旧的调用形式:
s = urlread ("http://www.google.com/search",
"get", {"query", "octave"});
参见: urlwrite, weboptions.
(url, localfile) ¶(url, localfile, Name, Value, …) ¶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:[email protected]/file.txt",
"file.txt");
可以使用属性/值对指定额外的选项:
Get用于GET请求参数的名称/值对元胞数组。
Post用于POST请求参数的名称/值对元胞数组。
Timeout超时时间,单位为秒。
UserAgent请求的用户代理字符串。
Username用于身份验证的用户名。
Password用于身份验证的密码。
使用属性/值对的示例:
urlwrite ("http://www.example.com/data.txt", "data.txt",
"Timeout", 10, "UserAgent", "Octave");
为向后兼容,也支持旧的调用形式:
urlwrite ("http://www.google.com/search", "search.html",
"get", {"query", "octave"});
参见: urlread, weboptions.
response = webread (url) ¶response = webread (url, name1, value1, …) ¶response = webread (…, options) ¶从RESTful web服务读取内容。
从url指定的web服务读取内容,并将内容返回到response中。
所有给定的键值对(value1, …)将作为查询参数追加到url中。
要将查询放在消息正文中,请使用webwrite。web服务定义了可接受的查询参数。
options是一个weboptions对象,可用于添加其他HTTP请求选项。
此参数可以与任何一种调用形式一起使用。
有关支持的所有HTTP选项的完整列表,请参阅 help weboptions。
参见: weboptions, webwrite.
response = webwrite (url, name1, value1, …) ¶response = webwrite (url, data) ¶response = webwrite (…, options) ¶向RESTful web服务写入数据。
向url指定的web服务写入内容,并将响应返回到response中。
所有给定的键值对(name1, value1, …)将作为查询参数对添加到请求方法(get、
post、put等)的正文中。
options是一个weboptions对象,可用于添加其他HTTP请求选项。
此参数可以与任何一种调用形式一起使用。
有关支持的所有HTTP选项的完整列表,请参阅 help weboptions。
参见: weboptions, webread.
options = weboptions () ¶options = weboptions (name1, value1, …) ¶指定RESTful web服务的参数。
当无输入调用时,返回一个默认的weboptions对象,
用于指定向web服务发出请求的参数。weboptions
对象是webread和webwrite函数的可选输入参数。
可以按任意顺序指定多个名称和值对参数,作为 name1, value1, name2, value2等。
选项名称必须完全匹配下表中指定的其中一个。
以下选项可用:
‘auto’(默认)、‘UTF-8’、‘US-ASCII’。 ‘auto’ 根据数据的content-type选择编码。
默认值为 ‘Octave/version’,其中 ‘version’ 是
version 返回的当前Octave版本。
默认值为5秒。特殊值 ‘Inf’ 将超时设置为最大值2147.483647秒。
默认值为''。必须是字符串。
默认值为''。必须是字符串或字符向量。
编程提示:如果显示一个设置了Password属性的weboption对象,该值会显示为包含
'*'的字符串。然而,该对象以明文形式存储Password属性的值。
它必须是字符串或字符向量。应与 ‘KeyValue’ 配对使用。
‘KeyName’ 必须先赋值,然后才能指定此字段。
请求头字段的名称和值,指定为一个m×2的字符串元胞数组,
用于添加到HTTP请求头。
HeaderFields{i,1} 是字段名,
HeaderFields{i,2} 是其值。
weboptions ("HeaderFields",
{"Content-Length", "78" ;
"Content-Type", "application/json"})
创建一个包含两个请求头字段的weboptions对象:
Content-Length(值为 78)和 Content-Type(
值为 application/json)。
以下值可用: ‘auto’、‘text’、‘json’
默认值为 ‘auto’。它会自动确定内容类型。 所有其他格式,如 ‘audio’、‘binary’ 等,在 MATLAB中可用的这些格式,目前尚未支持。
以下方法可用: ‘get’、‘put’、‘post’、‘delete’、‘patch’
webread 使用HTTP GET方法。webwrite 默认使用HTTP POST方法。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2