DataPrime: URL dekodierung / Kodierung

Dieser Leitfaden enthält ein Glossar von IBM® Cloud Logs DataPrime URL Funktionen zur Kodierung und Dekodierung von URLs.

urlDecode und urlEncode unterstützen die Funktions- und Methodenschreibweise.

urlEncode

Verwenden Sie urlEncode, um Zeichen in ein Format umzuwandeln, das über das Internet übertragen werden kann.

Um eine URL über das Internet zu senden, muss die URL mit dem ASCII-Zeichensatz eingestellt werden. Sie müssen zum Beispiel eine Reihe von Zeichen kodieren und ein Leerzeichen durch %20 ersetzen.

Funktion

urlEncode(string: string): string

Sie könnten zum Beispiel das folgende Beispiel verwenden, um den Wert von query_string_parameters.name mit Hilfe einer Funktion zu kodieren:

replace query_string_parameters.name with urlEncode(query_string_parameters.name)

Methode

string: string.urlEncode(): string

Sie könnten beispielsweise das folgende Beispiel verwenden, um den Wert von query_string_parameters.name mit Hilfe einer Methode zu kodieren:

replace query_string_parameters.name with query_string_parameters.name.urlEncode()

urlDecode

Verwenden Sie urlDecode, um eine URL in ein benutzerfreundliches Format zu konvertieren.

Funktion

urlDecode(string: string): string

Sie könnten zum Beispiel das folgende Beispiel verwenden, um den Wert von query_string_parameters.name mit Hilfe einer Funktion zu entschlüsseln:

replace query_string_parameters.name with urlDecode(query_string_parameters.name)

Methode

string: string.urlDecode(): string

Sie könnten zum Beispiel das folgende Beispiel verwenden, um den Wert von query_string_parameters.name mit Hilfe einer Methode zu entschlüsseln:

replace query_string_parameters.name with query_string_parameters.name.urlDecode()

Beispiel: Umwandlung der URL Header-Parameter in ein JSON-Objekt und URL Dekodierung

Betrachten Sie die folgende Protokollzeile:

{
  "domain": "https://www.ibm.com",
  "path": "/home",
  "query_string": "name=My%20Name&b=c%20d&c=d"
}

Extrahieren Sie zunächst jeden Abfragezeichenfolgenparameter in ein eigenes Objektfeld.

extract query_string into query_string_parameters using kv(pair_delimiter='&',key_delimiter='=')

Das resultierende Dokument sieht wie folgt aus:

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

Entschlüsseln Sie dann die query_string_parameters.name und ersetzen Sie %20 durch ein leeres Feld. Verwenden Sie replace, um das alte Feld mit einem neuen zu überschreiben und den Wert eines vorhandenen Tastenfelds mit einem neuen zu überschreiben.

replace query_string_parameters.name with urlDecode(query_string_parameters.name)
replace query_string_parameters.b with urlDecode(query_string_parameters.b)

Das Ergebnis ist das folgende Dokument:

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