DataPrime: URL décodage / encodage

Ce guide fournit un glossaire des fonctions IBM® Cloud Logs DataPrime URL pour l'encodage et le décodage des URL.

urlDecode et urlEncode prennent en charge la notation des fonctions et des méthodes.

urlEncode

Utilisez urlEncode pour convertir des caractères dans un format qui peut être transmis sur l'internet.

Pour envoyer un URL sur l'internet, le URL doit être défini en utilisant le jeu de caractères ASCII. Par exemple, vous pouvez avoir besoin d'encoder un ensemble de caractères et de remplacer un espace vide par %20.

Fonction

urlEncode(string: string): string

Par exemple, vous pouvez utiliser l'exemple suivant pour coder la valeur de query_string_parameters.name en utilisant une fonction :

replace query_string_parameters.name with urlEncode(query_string_parameters.name)

Méthode

string: string.urlEncode(): string

Par exemple, vous pouvez utiliser l'exemple suivant pour encoder la valeur de query_string_parameters.name en utilisant une méthode :

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

urlDecode

Utilisez urlDecode pour convertir URL dans un format convivial.

Fonction

urlDecode(string: string): string

Par exemple, vous pouvez utiliser l'exemple suivant pour décoder la valeur de query_string_parameters.name en utilisant une fonction :

replace query_string_parameters.name with urlDecode(query_string_parameters.name)

Méthode

string: string.urlDecode(): string

Par exemple, vous pouvez utiliser l'exemple suivant pour décoder la valeur de query_string_parameters.name en utilisant une méthode :

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

Exemple : Conversion des paramètres de l'en-tête URL en un objet JSON et décodage URL

Considérons la ligne de journal suivante :

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

Tout d'abord, extrayez chaque paramètre de la chaîne de requête dans son propre champ d'objet.

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

Le document qui en résulte se présente comme suit :

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

Ensuite, décodez le site query_string_parameters.name et remplacez %20 par un espace vide. Utilisez replace pour remplacer l'ancien champ par un nouveau et pour remplacer la valeur d'un keypath existant par une nouvelle.

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

Il en résulte le document suivant :

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