全部產品
Search
文件中心

Server Load Balancer:Misc相關函數

更新時間:Jun 19, 2024

本文為您介紹Misc相關函數的文法、說明、參數、傳回值和樣本。

base64_enc | base64_dec | url_escape | url_unescape | randomseed | rand | rand_hit | crc | tonumber | base64_enc_safe | base64_dec_safe

base64_enc

專案

描述

文法

base64_enc(s, [no_padding])

說明

base64編碼。

參數

  • s:待編碼的字串。

  • no_padding(選擇性參數):true表示無填充,預設false

傳回值

base64編碼後的字串。

樣本

if $http_data {
 decdata = base64_dec($http_data)
 say(concat('base64_decdata=', decdata))
 say(concat('base64_encdata=', base64_enc('hello, dsl'))) 
}

請求header: "data: aGVsbG8sIGRzbA=="

響應:

base64_decdata=hello, dsl
base64_encdata=aGVsbG8sIGRzbA==

base64_dec

專案

描述

文法

base64_dec(s)

說明

base64解碼。

參數

s:待解碼的字串。

傳回值

base64解碼後的字串。

樣本

if $http_data {
 decdata = base64_dec($http_data)
 say(concat('base64_decdata=', decdata))
 say(concat('base64_encdata=', base64_enc('hello, dsl'))) 
}

請求header: "data: aGVsbG8sIGRzbA=="

響應:

base64_decdata=hello, dsl
base64_encdata=aGVsbG8sIGRzbA==

url_escape

專案

描述

文法

url_escape(s)

說明

URL編碼。

參數

s:待編碼的字串。

傳回值

URL編碼後的字串。

樣本

raw = '/abc/123/ dd/file.m3u8'
esdata = url_escape(raw)
dsdata = url_unescape(esdata)
if eq(raw, dsdata) {
  say(concat('raw=', raw))
  say(concat('esdata=', esdata))
  say(concat('dsdata=', dsdata))
}

輸出:

raw=/abc/123/ dd/file.m3u8
dsdata=%2Fabc%2F123%2F%20dd%2Ffile.m3u8
dsdata=/abc/123/ dd/file.m3u8

url_unescape

專案

描述

文法

url_unescape(s)

說明

URL解碼。

參數

s:待解碼的字串。

傳回值

返回URL解碼後的字串。

樣本

raw = '/abc/123/ dd/file.m3u8'
esdata = url_escape(raw)
dsdata = url_unescape(esdata)
if eq(raw, dsdata) {
  say(concat('raw=', raw))
  say(concat('esdata=', esdata))
  say(concat('dsdata=', dsdata))
}

輸出:

raw=/abc/123/ dd/file.m3u8
esdata=%2Fabc%2F123%2F%20dd%2Ffile.m3u8
dsdata=/abc/123/ dd/file.m3u8

randomseed

專案

描述

文法

randomseed()

說明

指定產生隨機數種子。

參數

無。

傳回值

無。

樣本

randomseed()
r = rand(1,100)

rand

專案

描述

文法

rand(n1, n2)

說明

產生隨機數,隨機數範圍:n1≤傳回值≤n2。

參數

  • n1:隨機數下限。

  • n2:隨機數上限。

傳回值

返回產生的隨機數。

樣本

r = rand(1,100)

rand_hit

專案

描述

文法

rand_hit(ratio)

說明

按指定機率返回真假。

參數

ratio:為真機率,有效值範圍為[0~100]。

傳回值

按ratio機率返回true。例如:當ratio為100時,返回true,當ratio為0時,返回false

樣本

rand_hit(80)

crc

專案

描述

文法

crc(s)

說明

計算crc摘要。

參數

s:待計算摘要的字串。

傳回值

返回s的crc摘要。

樣本

crc('hello ascript')

tonumber

專案

描述

文法

tonumber(s, [base])

說明

類型轉換,將字串類型轉換為數字類型。

參數

  • s:待轉換的字串。

  • base(選擇性參數):可指定目標轉換進位,可用值:10和16,預設10進位。

樣本

n = tonumber('100')
say(concat('tonumber()=', n))

輸出:tonumber()=100

base64_enc_safe

專案

描述

文法

base64_enc_safe(str)

說明

對輸入的字串進行Base64安全編碼。安全編碼後輸出時,需要將“+”替換成“-”、“/”替換成“_”,同時去掉編碼後的“=”。

參數

str:待加密的字串。

傳回值

返回字串類型

樣本

add_rsp_header('X-RESPOND-OUTPUT', concat('base64_enc_safe=', base64_enc_safe('hello, dsl')), true)

輸出回應標頭:

X-RESPOND-OUTPUT:base64_enc_safe=aGVsbG8sIGRzbA

base64_dec_safe

專案

描述

文法

base64_dec_safe(str)

說明

對輸入的字串進行Base64安全解碼。安全解碼後輸出時,需要將“-”替換成“+”、“_”替換成“/”,末尾用“=”按照4的餘數補齊。

參數

str:Base64安全加密後的內容。

傳回值

返回字串類型。

樣本

add_rsp_header('X-RESPOND-OUTPUT', concat('base64_dec_safe=', base64_dec_safe(base64_enc_safe('hello, dsl'))), true)

輸出回應標頭:

X-RESPOND-OUTPUT:base64_dec_safe=hello, dsl