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"
  }
}