主要内容

matlab.net.http.MessageBody类

包:matlab.net.http

HTTP消息体

描述

一个MessageBody对象包含HTTP消息体。在请求消息中,设置身体属性为您的数据或MessageBody对象包含您的数据。在响应消息中,该对象包含接收到的数据。

消息数据由两个属性表示。的有效载荷属性包含发送到网络或从网络接收的原始字节。的数据属性包含了有效载荷作为一个MATLAB®类型。通常只设置这两个属性中的一个。

类属性

密封
真正的

有关类属性的信息,请参见类属性

创建

一个MessageBody对象包含HTTP消息体。在请求消息中,设置身体属性为您的数据或MessageBody对象包含您的数据。在响应消息中,该对象包含接收到的数据。

消息数据由两个属性表示。的有效载荷属性包含发送到网络或从网络接收的原始字节。的数据属性包含了有效载荷作为MATLAB类型。通常只设置这两个属性中的一个。

属性

全部展开

消息数据,指定为下列MATLAB数据类型之一。有关转换的详细信息,请参见HTTP数据类型转换

  • uint8向量,数据不转换。

  • 字符数组或标量字符串-数据根据Content-Type标头中的媒体类型及其字符集属性进行转换。

  • 结构数组,数据转换为或从JSON字符串使用webreadwebwrite

  • 图像- - - - - -数据转换为或从图像使用imreadimwrite

  • XML DOM -数据转换为或从字符串使用xmlreadxmlwrite

  • 音频数据,数据转换使用audioreadaudiowrite

  • 表- - -数据转换使用xmlreadxmlwrite

  • 其他类型的数组或单元格数组数据转换为或从JSON使用jsonencodejsondecode

在请求消息中,数据属性是MATLAB数据转换之前的一个uint8有效载荷。调用时将发生数据转换RequestMessage发送完整的方法。转换取决于您在消息中指定的Content-Type和类型数据.如果没有指定内容类型,则发送完整的方法尝试从数据推断类型,并将适当的ContentTypeField添加到请求消息中。

在响应消息中,数据代表了uint8有效负载转换为基于服务器指定的内容类型的MATLAB类型。如果转换失败,则数据保持为空,原始数据将出现在有效载荷财产。

抑制响应的自动转换有效载荷,设置HTTPOptions。ConvertResponse财产.在这种情况下,数据包含用于字符数据的字符串或uint8向量的字节数。

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的

内容类型的数据属性,指定为只读matlab.net.http.MediaType对象。属性的内容如何数据属性转换为或从有效负载。如果Content-Type有MediaType如果使用字符集属性,则字符集决定编码。

此属性通常具有与调用结果相同的值转换的Content-Type字段MessageBody

你不设置ContentType在请求消息中。当你创建MessageBody对象时,此属性为空。当你复制MessageBody转换成请求消息,ContentType设置为ContentTypeField在留言里,如果有的话。的RequestMessage发送完整的方法设置ContentType基于类型数据以及它的价值ContentTypeField在请求消息中。

在响应消息中,ContentType是基于ContentTypeField的消息。

属性:

GetAccess
公共
SetAccess
公共
瞬态
真正的

此属性被设置为指示有效载荷财产的ResponseMessage编码。当ContentCoding是否设置,没有对有效载荷和数据属性是空的。

如果MATLAB接收到一个消息,该消息的有效载荷是使用它支持的压缩算法编码的,例如金宝appgzip缩小,在尝试任何其他转换之前,它会自动解码该有效负载。如果解码成功,它可以选择存储解码后的有效负载有效载荷和转换有效载荷(如果有的话)数据.在这种情况下,此属性为空,以指示有效载荷不编码。

如果对有效负载进行了编码但解码不成功,或通过设置HTTPOptions。DecodePayload财产,则返回未处理的仍然编码的有效负载有效载荷数据是空的,并且ContentCoding设置为字符串向量,表示响应消息中的Content-Encoding报头字段的值。在这种情况下,您可以保存有效载荷按原样(例如,将其写入文件),或根据ContentCoding.例如,如果值为gzip,则可以将数据写入文件并使用gunzip命令来处理数据。

属性:

GetAccess
公共
SetAccess
公共
瞬态
真正的

数据类型:字符串

在消息中发送的原始字节,指定为uint8向量、标量字符串或字符向量。为了方便在请求消息中,您可以设置有效载荷到标量字符串或字符向量。MATLAB将值转换为auint8向量。在响应消息中,有效载荷总是一个uint8向量。

在请求消息中:

  • 属性中指定的字符集或隐含的字符集转换标量字符串或字符向量ContentType属性,如果有的话,或utf - 8如果没有设置编码。要使用不同的编码,可以自己编码,例如使用unicode2native函数,并将结果赋值uint8向量有效载荷

  • 如果不希望对字节数组进行输出转换,则设置有效载荷而不是数据财产。如果你设置数据相反,然后有效载荷如果指定请求或历史返回参数,是否用发送的字节填充RequestMessage.send的返回值RequestMessage.complete,或在ResponseMessage如果你设置HTTPOptions。SavePayload财产。

  • 当您设置有效载荷数据清除。如果你发送的信息数据有效载荷设置,然后有效载荷发送和数据将被忽略。对象返回的响应消息和请求消息发送完整的方法可以同时设置这两个属性。

在响应消息中,有效载荷是在这些情况下接收的原始字节:

  • 属性中指定一个历史返回参数RequestMessage.send方法。

  • 你设置HTTPOptions。SavePayload财产真正的

  • 有效载荷总是为出现在表明

  • 如果将有效载荷转换为MATLAB数据失败。有关信息,请查看textbox。历史财产。

属性:

GetAccess
公共
SetAccess
公共
依赖
真正的

方法

全部展开

介绍了R2016b