DataPrime: URL 解碼 / 編碼
本指南提供 IBM® Cloud Logs DataPrime URL 用於編碼和解碼 URL 的函數詞彙。
urlDecode 和 urlEncode 支援函數和方法符號。
urlEncode
使用 urlEncode 將字元轉換為可透過網際網路傳輸的格式。
若要透過網際網路傳送 URL,必須使用 ASCII 字元集設定 URL。 例如,您可能需要編碼一組字元,並以 %20 取代空格。
功能
urlEncode(string: string): string
例如,您可以使用以下範例,透過函式來編碼 query_string_parameters.name 的值:
replace query_string_parameters.name with urlEncode(query_string_parameters.name)
方法
string: string.urlEncode(): string
例如,您可以使用下列範例,透過使用方法來編碼 query_string_parameters.name 的值:
replace query_string_parameters.name with query_string_parameters.name.urlEncode()
urlDecode
使用 urlDecode 可將 URL 轉換成對使用者友善的格式。
功能
urlDecode(string: string): string
例如,您可以使用以下範例,透過函式來解碼 query_string_parameters.name 的值:
replace query_string_parameters.name with urlDecode(query_string_parameters.name)
方法
string: string.urlDecode(): string
例如,您可以使用下列範例,透過方法來解碼 query_string_parameters.name 的值:
replace query_string_parameters.name with query_string_parameters.name.urlDecode()
範例:將 URL 標頭參數轉換為 JSON 物件和 URL 解碼
考慮以下日誌行:
{
"domain": "https://www.ibm.com",
"path": "/home",
"query_string": "name=My%20Name&b=c%20d&c=d"
}
首先,將每個查詢字串參數萃取到自己的物件欄位。
extract query_string into query_string_parameters using kv(pair_delimiter='&',key_delimiter='=')
產生的文件看起來像這樣:
{
"domain":"https://www.ibm.com",
"query_string":"name=My%20Name&b=c%20d&c=d",
"path": "/home",
"query_string_parameters":{
"name":"My%20Name",
"b":"c%20d",
"c":"d"
}
}
然後,解碼 query_string_parameters.name,並以空格取代 %20。 使用 replace 用新欄位覆寫舊欄位,並用新欄位覆寫現有 keypath 的值。
replace query_string_parameters.name with urlDecode(query_string_parameters.name)
replace query_string_parameters.b with urlDecode(query_string_parameters.b)
這會產生以下文件:
{
"domain":"https://www.ibm.com",
"query_string":"name=My%20Name&b=c%20d&c=d",
"path": "/home",
"query_string_parameters":{
"name":"My name",
"b":"c d",
"c":"d"
}
}