主要内容

matlab.net.http.HTTPOptions类

包:matlab.net.http

控制HTTP消息交换的选项

描述

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

创建

描述

obj = matlab.net.http.HTTPOptions使用默认属性值创建HTTP选项。

例子

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

属性

全部展开

是否使用凭据进行身份验证,指定为真正的

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

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

  • 进行身份验证是假的。

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

  • 身份验证失败。

属性:

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,那么uint8ContentConsumer进行进一步处理。

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

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

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

  • 如果Content-Type没有指定字符数据或者没有字符集,并且MATLAB不支持Content-Type,那么金宝app数据包含原始uint8有效载荷。

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

ConvertResponse如果消息被编码(压缩)并且下面的其中一个被忽略:

  • 解码失败

  • DecodeResponse财产是错误的

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

网络上的数据包之间等待的秒数,整数形式。默认值为,意味着没有超时。这种超时,在建立初始连接后强制执行,对于可能速度较慢的服务器通信很有用。如果在等待发送或接收下一个预期数据包时超过了这个超时,那么MATLAB关闭连接并抛出一个错误。在这种情况下,使用matlab.net.http.HTTPException历史属性获取任何部分数据。

属性:

GetAccess
公共
SetAccess
公共

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

当存在指定压缩算法的Content-Encoding字段时,将对响应进行编码。MATLAB支金宝app持内容编码值gzipx-gzip,缩小.的值身份意味着没有编码,这相当于消息没有Content-Encoding字段。如果MATLAB不支持内容编码类型,解金宝app码不会发生,即使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在每个消息之后关闭连接。不支持其他值。金宝app

属性对操作的成功没有影响。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首选项和任何代理设置在Windows系统设置。

属性:

GetAccess
公共
SetAccess
公共

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

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

ResponseTimeout等于超时属性集的weboptions

属性:

GetAccess
公共
SetAccess
公共

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

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

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

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

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

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

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

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

属性:

GetAccess
公共
SetAccess
公共

数据类型:逻辑

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

如果UseProxy是true,那么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