用于与 HTTP 服务器通信的函数
Plant Simulation 提供了许多使用 HTTP 协议与 HTTP 服务器通信的函数。可使用这些函数来发送 HTTP 请求、发送数据和从 HTTP 响应中接收数据,以及在 HTTP 服务器上创建和删除资源:
httpGetRequest
发送 GET 请求。请求获取 HTTP 服务器上资源的数据。
httpPutRequest/httpPutFileRequest
发送具有指定数据或数据内容的 PUT 请求。
httpPostRequest/httpPostFileRequest
发送 POST 请求。
httpDeleteRequest
发送 DELETE 请求。
httpHeadRequest
发送 HEAD 请求。
httpOptionsRequest
发送 OPTIONS 请求。
Plant Simulation 提供通过合并 URL 组件或拆分 URL 组件来处理 URL(统一资源定位器)的以下函数:
httpCreateURL
使用 URL 组件从 JSON 结构创建正确的 URL。
httpSplitURL
将传递的 URL 拆分为其组件,并将其另存为 JSON 结构。还可以将现有查询或窗体数据拆分为平面 JSON 子结构。还可以根据返回的此 JSON 结构创建正确的 URL。
httpCreateFormURLEncodedString
根据名称-值对的平面 JSON 结构创建 URL 的额外组件,此组件通常插入 URL 路径之后。可以将此函数的结果用于有效负荷或请求正文。
httpSplitFormURLEncodedString
根据来自 URL 的额外部分的查询或窗体字符串,创建扁平 JSON 结构,该结构也可用于 httpCreateQuery。转换为 JSON 结构的数据也作为有效负荷或请求正文从服务器发送到客户端。
Plant Simulation 提供用于处理将以编码形式发送或接收的有效负荷或请求主体或响应主体的这些函数。有效负荷可用于 MQTT 和 HTTP,也可用于 HTTP 请求正文或响应正文:
encodeStringQuotedPrintable
对引用的可打印编码中传递的字符串进行编码,其中将掩蔽不允许在 URL 中使用的所有字母,而不更改其结构。
decodeStringQuotedPrintable
取消掩蔽由引用的可打印编码掩蔽的所有字母,将其转换为原始形式的传递文本。
encodeDataBase64/encodeDataBase64FromFile
在 Base64 编码中编码整个指定文本或指定文件的内容。生成的文本不再可读,并且无法与原始数据进行比较。这样一来,二进制数据也可以进行 HTTP 传输。
decodeBase64Data/decodeBase64DataToFile
将指定数据从 Base64 编码解码为原始状态,对传递的 Base64 编码文本中的二进制数据进行转换。解码的数据要么返回给变量作为引用传递,要么保存到文件中。
readBytesFromFile
读取指定的文件,并在整数值数组中以字节值序列形式返回内容。
writeBytesToFile
将指定的整数值阵列作为字节值序列写入指定文件。
decodeBase64Data [SimTalk] / decodeBase64DataToFile [SimTalk]
语法
decodeBase64Data(Base64Data:string, byref Data:string/integer[])
decodeBase64DataToFile(Base64Data:string, FileName:string)
描述
decodeBase64Data 函数用于将指定数据从 Base64 编码解码为原始状态,并将传递的 Base64 编码文本转换为二进制数据。
解码后的数据将以文本或整数数组的形式返回。这取决于传递变量的类型。如果数据包含值为 0(零)的多个字节,并且传递的变量的数据类型为字符串,则会出现错误.
decodeBase64DataToFile 函数用于将解码后的数据保存到指定文件。
参数
字符串数据类型的 Base64Data 参数用于指定要解码的数据。
字符串数据类型的 FileName 参数用于指定要将解码后的数据保存到其中的文件的名称。
示例
var base64:string := "SGVsbG8gV29ybGQ="
var data:string
decodeBase64Data(base64, data)
print data
// returns true
// Hello World
decodeQuotedPrintableString [SimTalk]
语法
decodeQuotedPrintableString(QuotedPrintableText:string) -> string
描述
decodeQuotedPrintableString 函数取消掩蔽由引用的可打印编码掩蔽的所有字母,将其转换为原始形式的传递文本。
参数
字符串数据类型的 QuotedPrintableText 参数用于指定要解码的数据。
返回值的数据类型
返回值的数据类型为字符串。
示例
print decodeQuotedPrintableString("Hello%20Word")
// returns Hello World
encodeDataBase64 [SimTalk] / encodeDataBase64FromFile [SimTalk]
语法
encodeDataBase64(Data:string/json/integer[]) -> string
encodeDataBase64FromFile(FileName:string) -> string
描述
函数 encodeDataBase64 在 Base64 编码中对整个指定数据进行编码。
生成的文本不再可读,并且无法与原始数据进行比较。这样,二进制数据也可以通过 HTTP 或 MQTT 进行传输.
函数 encodeDataBase64FromFile 在 Base64 编码中对指定文件的内容进行编码。
参数
数据类型为 string/json/integer[]/any) 的 Data 参数用于指定要编码的数据。
数据类型为字符串的 FileName 参数用于指定包含要编码的数据的文件名称。
返回值的数据类型
返回值为字符串数据类型的阵列,其中字符属于 US-ASCII 或 7 位 ASCII 字符集。
示例
var text := "Hello Word"
var base64:string := encodeDataBase64(text)
print base64
// returns SGVsbG8gV29ybGQ=
encodeStringQuotedPrintable [SimTalk]
语法
encodeStringQuotedPrintable(Text:string) -> string
描述
encodeStringQuotedPrintable 函数用于对引用的可打印编码中的传递字符串进行编码。
将对在不更改结构的情况下不允许用于 URL 的所有字母进行掩蔽。这些字符通常是 US-ASCII 字符集(ASCII 7 位)之外的字符以及在 URL 内具有作用的字符,例如 /、:、@、&、=、空格等。
参数
数据类型为字符串的 Text 参数用于指定要编码的文本。
返回值的数据类型
返回值的数据类型为字符串。
示例
print encodeStringQuotedPrintable("Hello Word")
// returns Hello%20World