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