主要内容

weboptions

为RESTful web服务指定参数

描述

例子

选项= weboptions返回默认值weboptions对象为对web服务的请求指定参数。一个weboptions对象的可选输入参数webreadwebsave,webwrite功能。控件不支持的选项金宝appweboptions函数,请参见HTTP接口

例子

选项= weboptions(名称,值属性的一个或多个属性weboptions对象。

例子

默认的weboptions对象

创建默认值weboptions对象并显示其属性的默认值。

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

weboptions对象中的用户名和密码

中设置web服务用户名和密码weboptions对象。的输入参数webreadwebsave,或webwrite当您的web服务需要身份验证时。

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

控件时,密码将被遮盖weboptions对象。但是,该对象以纯文本的形式存储密码。方法检索密码weboptions。密码财产。

选项。密码
Ans = '我的密码'

输入参数

全部折叠

名称-值对参数

的可选逗号分隔对名称,值参数。名字参数名称和价值对应的值。名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

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

所使用的编码webread将web内容转换为指定为字符串标量或字符向量的字符。常见编码包括“us - ascii”“utf - 8”“latin1”中的一个“Shift_JIS”,“iso - 8859 - 1”。默认编码取决于内容类型。如果你得到乱码文本,那么webread编码可能与文档使用的编码不同。尝试设置CharacterEncodingutf - 8

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

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

某些操作系统有系统强制的最大超时。的值仍然生效超时大于最大值。例如,在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请求标头的字符串标量、字符向量或数字或逻辑值。KeyValue键的值是否由KeyName

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

报头字段的名称和值,指定为m × 2的字符串数组或添加到HTTP请求报头的字符向量单元格数组。HeaderFields{1},我字段名和HeaderFields{2},我就是它的值。

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

例子:weboptions('HeaderFields',{'Content-Length' '78';'Content-Type' 'application/json'})创建一个weboptions对象,该对象包含两个报头字段:内容长度与价值78内容类型与价值application / json

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

ContentType说明符

输出类型

“汽车”(默认)

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

“文本”

内容类型的字符向量:

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

如果web服务返回一个MATLAB文件。m扩展时,函数将其内容作为字符向量返回。

“图像”

的数字或逻辑矩阵图像/格式内容。如果第一个输出参数是一个索引图像,第二个输出参数是颜色映射,第三个输出参数是alpha通道。

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

“音频”

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

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

“二元”

uint8二进制内容的列向量(即不作为类型处理的内容)字符).

“表”

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

json的

字符、数字、逻辑、结构或单元格数组,用于application / json内容。

“xmldom”

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

“生”

字符的列向量“文本”“xmldom”,json的内容。函数返回任何其他内容类型uint8列向量。

例子:weboptions(“ContentType”、“文本”)创建一个weboptions对象,用于指示webread将文本、JSON或XML内容作为字符向量返回。

内容读取器,指定为函数句柄。您可以创建weboptions对象与ContentReader,并将该对象作为输入参数传递给webread。然后webread从web服务下载数据,并使用函数句柄指定的函数读取数据。webread忽略了ContentTypeContentReader都是确定的。

例子:weboptions (ContentReader, @readtable)创建一个weboptions对象,用于指示webread使用readtable将内容作为表读取。

媒体类型,指定为字符串标量、字符向量或matlab.net.http.MediaType对象。MediaType指定数据类型webwrite发送到web服务。它指定MATLAB指定给服务器的内容类型,并控制如何webwrite数据参数,如果指定,则转换。有关更多信息,请参见https://tools.ietf.org/html/rfc6838

默认值为“汽车”说明MATLAB根据输入来选择类型webwrite。如果使用PostName / PostValue参数对,然后MATLAB使用“应用程序/ x-www-form-urlencoded”发送成对的。如果使用数据参数是标量字符串或字符向量,那么MATLAB假设它是一个表单编码的字符串,并按原样发送它“应用程序/ x-www-form-urlencoded”。如果数据是什么,然后MATLAB转换成JSON使用jsonencode并使用内容类型“application / json”

如果您指定MediaType包含json的javascript的,数据是字符向量,则按原样发送。所有其他类型,包括标量字符串,都使用jsonencode

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

如果您指定MediaType包含“xml”,数据是一个文档对象模型对象(Javaorg.apache.xerces.dom.DocumentImpl),然后转换为XML格式。数据,如果存在,则必须是要按原样发送的字符串或字符向量。

如果你指定了其他的MediaType,数据是字符串还是字符向量weboptions按原样发送值。

PostName / PostValue对只接受MediaType“汽车”“应用程序/ x-www-form-urlencoded”,并且字符向量总是按原样发送,而不管MediaType

您可以指定分号分隔名称=值参数。MediaType比如字符串,application / json的;odata =冗长的'。有些服务器要求将此格式作为请求中的Content-Type报头字段的一部分。

例子:weboptions(“MediaType”、“application / json”)创建一个weboptions对象,用于指示webwrite将字符向量数据编码为JSON,并将其发布到web服务。

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

  • “汽车”

    • webreadwebsave使用HTTP GET方法。

    • webwrite使用HTTP POST方法。

  • “得到”webreadwebsave功能。

  • “职位”webreadwebwrite,websave功能。

  • “把”webreadwebwrite,websave功能。

  • “删除”webreadwebwrite,websave功能。

  • “补丁”webreadwebwrite,websave功能。

webreadwebsave函数将查询放入URL中,而不管RequestMethodwebwrite将查询放入数据中,而不考虑RequestMethod

例子:weboptions(“RequestMethod”、“文章”)创建一个weboptions对象,用于指示webreadwebsave,或webwrite使用web服务的HTTP POST方法。

格式以对表示多个值的查询或发布值进行表单编码,指定为“csv”json的“重复”,或“php”。查询或发布值包含多个值

  • 数字的、逻辑的或datetime向量

  • 具有多行的字符数组

  • 单元格向量,其中每个元素是数字、逻辑或datetime单行标量或字符向量

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

此表显示每种格式的表单编码转换,其查询参数为“参数”的查询值[1 2 3]。web服务指定要使用的转换。

ArrayFormat说明符

表单编码的转换

“csv”(默认)

参数= 1、2、3

json的

参数=(1、2、3)

“重复”

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

“php”

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

方法将标量编码为单元素数组json的“php”说明符,将标量放置在单元素单元格数组中。

例子:weboptions(“ArrayFormat”、“重复”)创建一个weboptions对象,用于指示webreadwebsave,或webwrite用多个值作为重复查询参数对任何查询或发布值进行形式编码。

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

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

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

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

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

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

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

    • 将根CA证书添加到CertificateFilename

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

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

请注意

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

属性:

GetAccess

公共

SetAccess

公共

在R2014b中引入