主要内容

matlab.net.http.HTTPOptions类

包:matlab.net.http

控制HTTP消息交换的选项

描述

使用HTTPOptions类创建HTTP请求消息的选项。使用此对象可指定跨多个请求的常量选项。

创建

描述

obj = matlab.net.http.HTTPOptions创建带有默认属性值的HTTP选项。

例子

obj = matlab.net.http.HTTPOptions(名称、值)创建带有由一个或多个名称-值对参数指定的附加属性的HTTP选项。的名字属性名和价值为对应值。可以以任意顺序指定多个名称-值对参数Name1, Value1,…,的家.未指定的属性被设置为默认值。

属性

全部展开

是否将凭据用于身份验证,指定为真正的

如果进行身份验证为,然后实现服务器或代理请求的受支持的身份验证方法。万博1manbetx身份验证基于凭证属性和在MATLAB中设置的代理用户名和密码®Web的偏好,如果任何。有关MATLAB身份验证支持的信息,请参见万博1manbetx服务器身份验证

当存在任何这些条件时,响应消息将包含服务器或代理身份验证挑战。

  • 进行身份验证是假的。

  • 没有合适的凭证可以找到此请求的属性。

  • 身份验证失败。

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

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

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

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

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

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

  • 服务器证书过期或被吊销,请联系网站所有者或服务器管理员处理。

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

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

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

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

请注意

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

属性:

GetAccess
公共
SetAccess
公共

数据类型:字符|字符串

等待初始服务器连接的秒数,指定为整数。如果涉及代理,则超时应用于到代理的连接;否则,它将应用于到服务器的连接。

默认是10秒。如果超过了超时时间,则ConnectTimeout抛出一个错误。要禁用超时,请设置ConnectTimeout

ConnectTimeout确定在抛出错误之前需要等待多长时间才能使用服务器或代理完成连接尝试。此超时不限制接收完整响应所需的时间。

当通过代理向服务器发送请求时,考虑使用ResponseTimeout以限制等待时间。

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

属性:

GetAccess
公共
SetAccess
公共

如何处理从服务器收到的原始有效负载ResponseMessage,指定为真正的

如果ConvertResponse是真的,那么

  • 如果一个ContentConsumer,则uint8有效负载被传递到ContentConsumer进行进一步处理。

  • 否则,MATLAB转换有效载荷在MessageBody。有效载荷属性根据响应消息中的Content-Type设置为MATLAB数据。看到数据属性用于转换规则。如果转换成功,则数据包含转换后的数据和有效载荷是空的。

如果ConvertResponse为false,则任意指定ContentConsumer,行为取决于Content-Type是否指定字符数据。

  • 如果Content-Type具有显式的或默认的字符集属性,则将有效负载转换为文本并存储在其中数据没有进一步的处理。

  • 如果Content-Type没有指定字符数据或没有字符集,并且MATLAB不支持Content-Type,则万博1manbetx数据包含原始uint8有效载荷。

在所有情况下有效载荷属性将被删除,除非还设置SavePayload财产真正的

ConvertResponse如果消息被编码(压缩),则忽略:

  • 解码失败

  • DecodeResponse财产是错误的

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

网络上数据包之间等待的秒数,指定为整数。默认值为,意思是没有超时。一旦建立了初始连接,就强制执行此超时,这对于与可能较慢的服务器进行通信很有用。如果在等待发送或接收下一个期望的包时超过了这个超时,那么MATLAB关闭连接并抛出一个错误。在本例中,使用thematlab.net.http.HTTPException历史属性获取任何部分数据。

属性:

GetAccess
公共
SetAccess
公共

是否解码压缩数据,指定为真正的.解码是指在服务器返回压缩(编码)数据时解压缩(解码)响应负载。解码发生在基于Content-Type字段的转换之前。

当存在指定压缩算法的Content-Encoding字段时,将对响应进行编码。MATLAB支万博1manbetx持内容编码值gzipx-gzip,缩小.的值身份意味着没有编码,这相当于消息没有Content-Encoding字段。如果MATLAB不支持内容编码类型,解万博1manbetx码不会发生即使DecodeResponse是真的。

如果DecodeResponse为false并对有效负载进行编码,则:

  • MessageBody。有效载荷属性包含未编码的原始有效负载。

  • MessageBody。数据房地产仍然是空的。

  • 属性的设置如何,都不会发生转换ConvertResponse财产。

如果您正在使用ContentConsumer无法处理压缩数据,除非您还设置ConvertResponse以虚假压制消费者使用。FileConsumerBinaryConsumer是MATLAB提供的唯一能够处理压缩数据的消费者。

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

身份验证凭据,指定为一个或多个matlab.net.http.Credentials对象。默认值为defaultmatlab.net.http.Credentials对象。使用默认的凭证对象,以允许对Windows上的Kerberos和NTLM等方案进行身份验证。这些方案不需要指定用户名或密码。

凭证仅当进行身份验证房地产是正确的。您必须至少指定一个凭证对象,以便进行身份验证。如果你设置凭证为空,则不进行身份验证。

当您在会话期间多次访问同一服务器时,为了最大性能,请指定相同的参数凭证向量或同一HTTPOptions对象。凭证包含加速后续身份验证的缓存信息。

如果您提供凭证与代理一起使用,你想要这些凭证中指定的不同用户名和密码Web的偏好,然后在。窗口中指定代理的主机和端口ProxyURI财产的HTTPOptions对象或清除使用带有身份验证的代理选项。

属性:

GetAccess
公共
SetAccess
公共

初始连接(指定为)后保持服务器连接打开的时间为几秒0.使用此属性可允许在同一连接上连续发送多个消息。一个值(默认值)启用持久连接,只要服务器可用,就保持连接打开。的值0在每个消息之后关闭连接。不支持其他值。万博1manbetx

属性对操作的成功没有影响。MATLAB总是保持连接打开足够长的时间,以从服务器获得预期的响应,除非超过其他超时。然而,一个0值会严重影响向同一服务器发送许多短消息的性能。

属性:

GetAccess
公共
SetAccess
公共

允许的重定向数,为给定请求指定为整数。默认的重定向数是20。设置为0以禁用重定向。设置为允许无限重定向。

如果MaxRedirects,则将每个重定向响应中从服务器接收的cookie复制到重定向消息中。后MaxRedirects时,响应消息包含下一个重定向消息。

属性:

GetAccess
公共
SetAccess
公共

程序的进程监视器处理程序,指定为程序的函数句柄matlab.net.http.ProgressMonitor对象。如果UseProgressMonitor为真,那么MATLAB调用ProgressMonitor函数,用于报告转移的进度。如果UseProgressMonitor是假的或ProgressMonitorFcn为空,则不报告任何进度。

属性:

GetAccess
公共
SetAccess
公共

数据类型:function_handle

代理服务器地址,指定为matlab.net.URI对象或窗体的字符串主持人:港口/ /主机:端口

ProxyURI仅当UseProxy房地产是正确的。ProxyURI重写MATLAB Web Preferences中指定的代理和Windows系统设置中的任何代理设置。

属性:

GetAccess
公共
SetAccess
公共

发送请求的最后一个数据包后,等待从服务器接收初始响应(报头)的秒数,指定为整数。默认值为,意思是没有超时。如果超过了这个超时,MATLAB将关闭连接并抛出一个错误。

使用ResponseTimeout为了限制通过代理向服务器发送请求时的等待时间,因为ConnectTimeout仅适用于代理连接时间。

ResponseTimeout等于超时属性集的weboptions

属性:

GetAccess
公共
SetAccess
公共

是否保存Payload,指定为真正的.有效负载是从服务器接收或发送到服务器的原始字节,保存在MessageBody。有效载荷财产。

在请求消息中,设置SavePayload真正的保存数据转换后的有效负载。在响应消息中,字节在转换之前被保存。

使用SavePayload作为调试工具。例如,服务器不能处理请求体,或者在将响应体转换为MATLAB类型时出现故障。设置SavePayload真正的可能会消耗相当多的内存,因为有效负载至少等于转换数据的大小。

若要检索不进行转换的响应负载,请设置ConvertResponse财产和阅读MessageBody。数据代替。

如果一个textbox在消息处理期间发生,然后在故障点之前接收到的有效负载HTTPException.History .Response.Body.Payload(结束)

如果RequestMessage。身体是一个内容提供者对象,然后MATLAB保存提供者的转换数据的身体。有效载荷

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

是否显示进度,指定为真正的.集UseProgressMonitor真正的使用指定的函数来报告传输的进度ProgressMonitorFcn财产。

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

是否使用指定为的代理真正的

如果UseProxy为真,然后MATLAB选择这些代理中的第一个。

  • 的值ProxyURI财产,如果任何。

  • 在MATLAB Web Preferences中指定的代理(如果有的话)。

  • 在您的系统首选项中指定的代理(仅限Windows)。

当下列任何一项为真时,所有请求将直接转到目标URI,而不需要代理。

  • UseProxy是假的。

  • UseProxy是真实的,但ProxyURI为空,并且在首选项中没有设置代理。

MATLAB自动转换消息到代理时UseProxy是真的。

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

服务器名称是否与指定的证书匹配真正的

在安全连接中使用https协议,MATLAB验证证书中的服务器名称是否与宿主属性,或最新重定向请求的URI中。此验证确保您正在与预期的服务器通信。若要在服务器证书与用于访问它的URI不匹配的情况下禁用验证,请将此属性设置为false。例如,您希望使用IP地址或“localhost”访问服务器,并且您确信可以直接与预期的服务器通信。

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

例子

全部折叠

将连接时间增加到20秒。

更改变量中指定的请求消息的默认超时选项请求发送到变量中指定的服务器url

选择= matlab.net.http.HTTPOptions (“ConnectTimeout”, 20);响应= request.send (url选项);
介绍了R2016b