用于与 HTTP 服务器通信的函数

用于与 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

相关推荐
李少兄5 小时前
Unirest:优雅的Java HTTP客户端库
java·开发语言·http
可乐加.糖5 小时前
一篇关于Netty相关的梳理总结
java·后端·网络协议·netty·信息与通信
无名之逆5 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
吴盐煮_6 小时前
使用UDP建立连接,会存在什么问题?
网络·网络协议·udp
rainFFrain6 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon6 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
xujiangyan_7 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx
GalaxyPokemon8 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼8 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
忆源8 小时前
SOME/IP-SD -- 协议英文原文讲解9(ERROR处理)
网络·网络协议·tcp/ip