主要内容

WebOptions.

为RESTful web服务指定参数

描述

例子

选择= weboptions返回一个默认WebOptions.对象指定对web服务的请求的参数。aWebOptions.对象可以是一个可选的输入参数韦布雷德Websave., 和网络写作功能。控件不支持的选项金宝appWebOptions.函数,见HTTP接口

例子

选项=网络选项(名称,值指定一个或多个属性WebOptions.目的。

例子

默认WebOptions.对象

创建一个默认的WebOptions.对象并显示其属性的默认值。

选择= weboptions
options=weboptions with properties:CharacterEncoding:'auto'UserAgent:'MATLAB 9.7.0.1112323(R2019b)'Timeout:5用户名:'Password:'KeyName:'KeyValue:'ContentType:'auto'ContentReader:[]MediaType:'auto'RequestMethod:'auto'ArrayFormat:'csv'HeaderFields:[]CertificateFileFileFileName:'default'

weboptions对象中的用户名和密码

设置您的web服务用户名和密码WebOptions.对象。您可以将该对象用作韦布雷德Websave., 或者网络写作当您的Web服务需要身份验证时。

选项=网络选项('用户名'“jdoe”“密码”“我的密码”);

当您显示密码时,密码将被隐藏WebOptions.目的。但是,对象将密码存储为纯文本。您可以从中检索密码WebOptions.Password.财产。

选项。密码
ans ='mypassword'

输入参数

全部折叠

名称-值对的观点

指定可选的逗号分隔的对名称,值论据。名称参数名和价值是相应的价值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:weboptions(“超时”,60)创建一个WebOptions.对象,该对象将超时连接持续时间设置为60秒。

使用的编码韦布雷德将Web内容转换为字符,指定为字符串标量或字符向量。常见的编码包括“US-ASCII”“UTF-8”“拉丁1”“Shift_JIS”, 和‘ISO-8859-1’.默认编码取决于内容类型。如果你得到乱码的文字,那么韦布雷德编码可能与文档使用的编码不同。请尝试设置字符编码UTF-8.

用户代理标识,指定为指示客户端用户代理的字符串标量或字符矢量。

超时连接持续时间,以秒为单位,指定为正值标量。在发送请求的最后一个数据包之后,该值是等待从服务器接收初始响应(标题)的秒数。暂停相当于ResponseTimeout财产的matlab.net.http.httpoptions.类。最大值为2147.483647秒。使用Inf设置最大值。

有些操作系统有系统强制的最大超时。即使值为,该超时也会生效暂停大于最大值。例如,在Windows上®10,这个超时是21秒。

用户标识符,指定为基本和/或摘要HTTP身份验证(无加密)的字符串标量或字符向量。有关基本HTTP身份验证方案的信息,请参阅https://tools.ietf.org/html/rfc7617.有关HTTP摘要访问认证的信息,请参见https://tools.ietf.org/html/rfc7616

用户身份验证密码,指定为基本和/或摘要HTTP身份验证的字符串标量或字符向量(无加密)。如果你展示一个WebOptions.对象密码设置,则该值显示为包含“*”的字符向量。但是,该对象存储密码作为纯文本。

键的名称,指定为字符串标量或字符向量。KeyName是要添加到HTTP请求标头的其他名称。例如,KeyName可以是web服务API密钥名。

例子:weboptions(‘KeyName’,‘时间’,‘KeyValue’,7)创建一个WebOptions.对象,该对象包含键名,持续时间,由Web服务定义。

键的值,指定为要添加到HTTP请求标头的字符串标量、字符向量或数字或逻辑值。键值键的值是否由KeyName

例子:weboptions(‘KeyName’,‘时间’,‘KeyValue’,7)创建一个WebOptions.对象,该对象包含键值,7,与密钥名配对,持续时间

报头字段的名称和值,指定为要添加到HTTP请求报头的m-by-2字符串数组或字符向量单元数组。Headerfields {i,1}字段名是and吗Headerfields {i,2}是它的价值。

这些报头字段添加到或替换自动添加的字段韦布雷德网络写作, 或者Websave..通常会添加这些字段,但如果其中一个字段的名称与将自动添加的字段中的一个匹配不区分大小写,并且该字段不支持多个值(例如Content-Type),那么将使用您指定的值。金宝app某些字段的值是成功发送请求所必需的,例如Connection和Content-Length,不能被覆盖。

例子:WebOptions('headerfields',{content-length''78';'content-type''application / Json'})创建一个WebOptions.包含两个标题字段的对象:内容长度有价值78内容类型有价值应用程序/json

内容类型,指定为字符串标量或字符向量。使用内容类型请求服务器优先返回特定格式的数据。韦布雷德使用此值将响应转换为MATLAB®如果可能,服务器返回此内容类型,但没有义务这样做。

内容类型说明符

输出类型

“汽车”(默认)

根据服务器指定的内容类型自动确定输出类型。

'文本'

内容类型的字符向量:

文本/纯文本
text / html
text / xml
应用程序/xml
应用程序/ javascript.
应用程序/ x-javascript
应用程序/x-www-form-urlencoded

如果web服务返回带有.m扩展名时,函数将其内容作为字符向量返回。

'图片'

数字或逻辑矩阵图像/格式如果第一个输出参数是索引图像,则第二个输出参数是colormap,第三个输出参数是alpha通道。

有关支持金宝app的图像格式,请参见金宝app支持导入和导出的文件格式

“音频”

数字矩阵音频/格式以数字标量采样率作为第二个输出参数的内容。

有关支持金宝app的音频格式,请参阅金宝app支持导入和导出的文件格式

“二进制”

uint8二进制内容的列向量(即,内容不被视为类型烧焦).

“桌子”

电子表格和CSV的标量表对象(文字/ CSV.) 内容。

json的

烧焦、数字、逻辑、结构或单元格数组,用于应用程序/json内容。

“xmldom”

java.®的文档对象模型(DOM)节点text / xml或者应用程序/xml如果未指定,则函数将XML内容作为字符向量返回。

“生”

烧焦列向量为'文本'“xmldom”, 和json的内容。该函数将任何其他内容类型返回为auint8列向量。

例子:weboptions(“ContentType”、“文本”)创建一个WebOptions.对象,指示韦布雷德以字符向量形式返回文本、JSON或XML内容。

内容阅读器,指定为函数句柄。您可以创建WebOptions.对象ContentReader,并将对象作为输入参数传递给韦布雷德.然后韦布雷德从Web服务下载数据,并使用函数句柄指定的函数读取数据。韦布雷德忽略了内容类型什么时候ContentReader都是确定的。

例子:weboptions('ContentReader',@readtable)创建一个WebOptions.对象,指示韦布雷德使用readtable以表格的形式阅读内容。

媒体类型,指定为字符串标量、字符向量或matlab.net.http.MediaType目的。媒体类型指定数据类型网络写作发送到Web服务。它指定MATLAB指定服务器的内容类型,它控制了网络写作数据参数,如果指定,则转换。有关更多信息,请参阅https://tools.ietf.org/html/rfc6838

默认值为“汽车”这表明MATLAB基于输入选择类型网络写作.如果使用PostName / PostValue参数对,然后MATLAB使用“应用程序/x-www-form-urlencoded”发送配对。如果使用数据作为标量字符串或字符向量的参数,然后matlab假定它是一个编码的字符串,并使用它发送它“应用程序/x-www-form-urlencoded”.如果数据是其他的,然后MATLAB使用jsonencode.并使用内容类型“application / json”

如果指定媒体类型包含json的或者javascript的, 和数据是一个字符向量,那么它就是如此发送。使用其他类型(包括标量字符串)使用jsonencode.

如果您指定“应用程序/x-www-form-urlencoded”,然后PostName / PostValue对编码成对。数据,如果存在,则必须是要按原样发送的字符串或字符向量。

如果指定媒体类型那个包含'XML', 和数据是一个文档对象模型对象(Javaorg.apache.xerces.dom.DocumentImpl),然后将其转换为XML。数据,如果存在,则必须是要按原样发送的字符串或字符向量。

如果你指定其他的媒体类型, 和数据是字符串还是字符向量WebOptions.发送值的值。

PostName / PostValue配对仅适用于以下情况:媒体类型价值观“汽车”“应用程序/x-www-form-urlencoded”而且始终发送字符向量 - 无论如何媒体类型

您可以指定分号分隔名称=值中的参数媒体类型比如字符串,'application/json;odata=verbose'.某些服务器需要此格式作为请求中内容类型标题字段的一部分。

例子:WEBOPTIONS('MEDIATYPE','APPLICATION / JSON')创建一个WebOptions.对象,指示网络写作将字符向量数据编码为JSON,然后发布到web服务。

方法,指定为字符串标量、字符向量或matlab.net.http.requestmethod.枚举作为以下值之一:

  • “汽车”

    • 韦布雷德Websave.使用http get方法。

    • 网络写作使用HTTP POST方法。

  • '得到'韦布雷德Websave.功能。

  • “职位”韦布雷德网络写作, 和Websave.功能。

  • '放'韦布雷德网络写作, 和Websave.功能。

  • '删除'韦布雷德网络写作, 和Websave.功能。

  • “补丁”韦布雷德网络写作, 和Websave.功能。

韦布雷德Websave.函数将查询放入URL中,而不管RequestMethod网络写作将查询放入数据中,而不管RequestMethod

例子:weboptions('RequestMethod','post')创建一个WebOptions.对象,指示韦布雷德Websave., 或者网络写作使用Web服务的HTTP POST方法。

格式化以形成表示多个值的编码查询或post值,指定为'csv'json的“重复”, 或者“php”.查询或发布值包含多个值(如果是)

  • 数字,逻辑或约会时间向量

  • 一个具有多个行的字符数组

  • 单元格向量,其中每个元素是数字、逻辑或约会时间只有一行的标量或字符向量

不支持其他数据类型或维度。金宝app

此表显示了名为的查询参数的每个格式的编码转换“参数”的查询值(1 2 3).Web服务指定要使用的转换。

阵列格式说明符

表格编码转换

'csv'(默认)

参数= 1、2、3

json的

参数=[1,2,3]

“重复”

参数=1&参数=2&参数=3

“php”

参数[]=1和参数[]=2和参数[]=3

将标量作为一个元素数组进行编码json的或者“php”说明符,将标量放置在单元素单元格数组中。

例子:WebOptions('ArrayFormat','重复')创建一个WebOptions.对象,指示韦布雷德Websave., 或者网络写作使用多个值作为重复查询参数对任何查询或post值进行表单编码。

文件名,指定为字符串标量或字符向量,表示包含根证书的文件的名称和位置。文件必须是PEM (privacy-enhanced mail)格式。位置必须在当前文件夹中,在MATLAB路径中的一个文件夹中,或一个文件的完整或相对路径中。此文件中包含的证书用于验证HTTPS连接的服务器证书。由于HTTPS连接的安全性依赖于此文件的完整性,请适当保护它。MATLAB不管理证书或证书文件,但有第三方工具可用于管理PEM文件。

默认情况下,未指定选项时,MATLAB使用系统提供的证书存储验证服务器证书。这也是行为CertificateFilename设置为“默认”

如果CertificateFilename是空的(''),然后关闭服务器证书的验证。MATLAB仅验证服务器证书的域名是否与服务器的域名匹配。

如果遇到服务器证书验证失败,请使用“默认”,然后使用系统浏览器检查连接。

如果您遇到连接问题,请考虑以下问题:

  • 对于已过期或撤销的服务器证书,请联系网站所有者或服务器管理员。

  • 对于缺失的根CA证书,您可以选择以下选项之一:

    • 将根CA证书添加到表示的文件中CertificateFilename

    • 通过设置禁用证书验证CertificateFilename清空('').

  • 如果服务器证书的域名和服务器的域名不匹配,可以通过创建matlab.net.http.RequestMessage对象,并设置matlab.net.http.HTTPOptions.VerifyServerName财产

请注意

这些选项是临时解决方法,MathWorks强烈建议您使用有效/正确的服务器证书解决任何服务器证书验证失败的根本原因。

属性:

获取访问权限

公共

设置访问

公共

在R2014B中介绍