Main Content

matlab.net.http.HeaderField 类

包: matlab.net.http

HTTP 消息的标头字段

描述

使用 HeaderField 类为 HTTP 消息实现标头字段。该类支持标头中的字符串与 MATLAB® 对象、数组和结构体之间的相互转换。虽然您可以将 HeaderField 属性设置为任意值,但 HTTP 标头字段对允许使用的字符有限制。

Name 属性定义标头字段的类型。MATLAB 在 matlab.net.http.field 包中为常用字段提供了子类。要查看支持的子类列表,请调用 HeaderField.displaySubclasses 方法。

创建对象

描述

示例

obj = matlab.net.http.HeaderField(name,value) 创建一个标头字段,并将 Name 属性设置为 name,将 Value 属性设置为 value。其中任何一个参数都可以是空的双精度值 []。您可以采用任意顺序指定多个对组参数,例如 name1,value1,...,nameN,valueN。如果最后一个 value 参数缺失,则 HeaderField 将它视为空。

属性

全部展开

标头字段的名称,指定为字符串或字符向量。Name 决定字段的类型,字段的类型决定 Value 属性的有效值。如果您将 Name 设置为 [] 或空字符串,则 Value[]

如果此对象是实现特定标头字段类型的子类的一个实例,则该类会对 Name 属性强制应用约束。

示例: 'Content-Type'

属性:

GetAccess
public
SetAccess
public

标头字段的值,指定为字符串或对 Name 属性有效的任何类型。

当您读取此属性时,Value 是代表该字段值的字符串。

当您设置此属性时,Value 可以是该字段基于 Name 属性和/或此对象的类能够接受的任何类型。其结果会转换为字符串。如果字段类型具有默认值,请将 Value 设置为空字符串(''string(''))。如果您指定了一个空的双精度值 [],则请求消息的 sendcomplete 方法不会将此字段添加到消息中。

示例: 'text/html'

属性:

GetAccess
public
SetAccess
public
Dependent
true

方法

全部展开

示例

全部折叠

要创建 Content-Type 标头字段,可以使用 HeaderField 类或 ContentTypeField 类构造函数。

使用 HeaderField 类构造函数时,可将 Name 属性指定为 'Content-Type'。但是,如果您拼错了字段名称,您可能发现不了这个错误,直到消息被服务器拒绝为止。某些服务器会以静默方式忽略未知的字段名称。

f1 = matlab.net.http.HeaderField('Content-Type','text/plain');

最好使用 ContentTypeField 类构造函数,因为这样您就不会拼错字段名称。

f2 = matlab.net.http.field.ContentTypeField('text/plain');

不管您使用哪个构造函数,只要 Value 属性相同,字段就相同。

f1 == f2
ans =    1

此示例说明如何在来自 mathworks.com 的响应中找到特定的标头字段 Cache-Control

mathworks.com 发送一条消息。

request = matlab.net.http.RequestMessage;
uri = matlab.net.URI('https://www.mathworks.com');
response = send(request,uri);

搜索 Cache-Control 并显示该值。

field = response.getFields('Cache-Control');
value = field.Value
value = 
"max-age=14400"

提示

  • HeaderField 构造函数可创建 HeaderField 类的字段。要创建 matlab.net.http.field 包中定义的类的字段,请改用子类构造函数。要查看子类列表,请调用 HeaderField.displaySubclasses 方法。

    例如,matlab.net.http.field.DateField 子类创建一个 Date 标头字段。如果您使用 HeaderField 类创建 Date 字段,则 DateField 类将解释并强制应用该值,即使 HeaderField 不是 DateField 的实例也是如此。同样,如果您将该字段值转换为 MATLAB datetime 值,将使用 DateField.convert 方法。

  • 如果 HeaderField 构造函数拒绝 NameValue 参数,请改用 GenericField 类构造函数。

版本历史记录

在 R2016b 中推出