Tous les produits
Search
Centre de documentation

Simple Log Service:Fonctions d'analyse

Dernière mise à jour :Aug 18, 2026

Simple Log Service propose des fonctions d'analyse User-Agent pour extraire les informations relatives à l'appareil, au système d'exploitation et au navigateur à partir des chaînes User-Agent. Il met également à disposition des fonctions d'analyse d'URL permettant de décomposer les URL et les chaînes de requête.

Liste des fonctions

Fonction

Description

ua_parse_device

Extrait les informations relatives à l'appareil à partir de la chaîne User-Agent.

ua_parse_os

Extrait les informations relatives au système d'exploitation à partir de la chaîne User-Agent.

ua_parse_agent

Extrait les informations relatives au navigateur à partir de la chaîne User-Agent.

ua_parse_all

Extrait toutes les informations contenues dans la chaîne User-Agent.

url_parse

Analyse les composants d'une URL.

url_parse_qs

Analyse les paramètres contenus dans la chaîne de requête d'une URL.

Remarque

Les fonctions d'analyse User-Agent suppriment les champs dont la valeur est None après l'analyse. Par exemple, si les données de l'appareil analysé sont {'brand': None, 'family': 'Other', 'model': None}, les champs brand et model sont supprimés. Le résultat final est alors {'family': 'Other'}.

ua_parse_device

Cette fonction extrait les informations relatives à l'appareil à partir de la chaîne User-Agent.

  • Syntaxe

    ua_parse_device(value)
  • Paramètres

    Nom du paramètre

    Type de données

    Obligatoire

    Description

    value

    String

    Oui

    La chaîne User-Agent à analyser.

  • Réponse

    Renvoie un objet JSON.

  • Exemples

    • Journal brut

      http_user_agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.168.0.0 Safari/537.36
    • Règle de transformation

      e_set("new_column",ua_parse_device(v("http_user_agent")))
    • Résultat

      http_user_agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.168.0.0 Safari/537.36
      new_column:{"family":"Mac","brand":"Apple","model":"Mac"}

ua_parse_os

Cette fonction extrait les informations relatives au système d'exploitation à partir de la chaîne User-Agent.

  • Syntaxe

    ua_parse_os(value)
  • Paramètres

    Nom du paramètre

    Type de données

    Obligatoire

    Description

    value

    String

    Oui

    La chaîne User-Agent à analyser.

  • Réponse

    Renvoie un objet JSON.

  • Exemples

    • Journal brut

      http_user_agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.168.0.0 Safari/537.36
    • Règle de transformation

      e_set("new_column",ua_parse_os(v("http_user_agent")))
    • Résultat

      http_user_agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.168.0.0 Safari/537.36
      new_column:{'family': 'Mac OS X',
                          'major': '10',
                          'minor': '9',
                          'patch': '4'}

ua_parse_agent

Cette fonction extrait les informations relatives au navigateur à partir de la chaîne User-Agent.

  • Syntaxe

    ua_parse_agent(value)
  • Paramètres

    Nom du paramètre

    Type de données

    Obligatoire

    Description

    value

    String

    Oui

    La chaîne User-Agent à analyser.

  • Réponse

    Renvoie un objet JSON.

  • Exemples

    • Journal brut

      http_user_agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.168.0.0 Safari/537.36
    • Règle de transformation

      e_set("new_column",ua_parse_agent(v("http_user_agent")))
    • Résultat

      http_user_agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.168.0.0 Safari/537.36
      new_column:{'family': 'Chrome', 'major': '192', 'minor': '168', 'patch': '0'}

ua_parse_all

Cette fonction extrait toutes les informations contenues dans la chaîne User-Agent.

  • Syntaxe

    ua_parse_all(value)
  • Paramètres

    Nom du paramètre

    Type de données

    Obligatoire

    Description

    value

    String

    Oui

    La chaîne User-Agent à analyser.

  • Réponse

    Renvoie un objet JSON.

  • Exemples

    • Journal brut

      http_user_agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.168.0.0 Safari/537.36
    • Règle de transformation

      e_set("new_column",ua_parse_all(v("http_user_agent")))
    • Résultat

      http_user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/192.168.0.0 Safari/537.36
      new_column: {
        "user_agent": {
          "family": "Chrome",
          "major": "192",
          "minor": "168",
          "patch": "0"
        },
        "os": {
          "family": "Mac OS X",
          "major": "10",
          "minor": "9",
          "patch": "4"
        },
        "device": {
          "family": "Mac",
          "brand": "Apple",
          "model": "Mac"
        }
      }

url_parse

Cette fonction décompose les différents composants d'une URL.

  • Syntaxe

    url_parse(url, scheme="", allow_fragments=True)
  • Paramètres

    Nom du paramètre

    Type de données

    Obligatoire

    Description

    url

    String

    Oui

    L'URL à analyser.

    scheme

    String

    Non

    Le protocole réseau. Valeur par défaut : chaîne vide.

    Utilisé comme valeur du champ scheme dans le résultat uniquement si l'URL ne contient pas de protocole.

    allow_fragments

    Boolean

    Non

    Indique s'il faut analyser la partie fragment de l'URL.

    • True (par défaut) : analyse la partie fragment. Le champ fragment du résultat contient la valeur spécifique.

    • False : n'analyse pas la partie fragment. Le champ fragment du résultat est une chaîne vide.

  • Réponse

    Renvoie un objet JSON contenant les champs suivants.

    Champ

    Description

    scheme

    Protocole réseau

    netloc

    Emplacement réseau

    path

    Chemin hiérarchique

    query

    Composant de requête

    fragment

    Identifiant de fragment

  • Exemples

    • Exemple 1 : utilisez les paramètres par défaut pour renvoyer les composants d'une URL.

      • Journal brut

        content:https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
      • Règle de transformation

        e_set("url",url_parse(v("content")))
      • Résultat

        content:https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
        url:{
                "scheme": "https",
                "netloc": "username:username@example.com:8083",
                "path": "/hello/asdah/;type=docx",
                "query": "filename=python3.docx",
                "fragment": "urllib"
            }
    • Exemple 2 : définissez le paramètre allow_fragments sur False. La valeur du paramètre fragment dans le résultat est alors une chaîne vide.

      • Journal brut

        content:https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
      • Règle de transformation

        e_set("url",url_parse(v("content"),allow_fragments=False))
      • Résultat

        content:https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
        url:{
                 "scheme": "https",
                "netloc": "username:username@example.com:8083",
                "path": "/hello/asdah/;type=docx",
                "query": "filename=python3.docx",
                "fragment": ""
            }
    • Exemple 3 : définissez le paramètre scheme sur https et le paramètre allow_fragments sur False. La valeur du paramètre scheme dans le résultat est https, tandis que celle du paramètre fragment est une chaîne vide.

      • Journal brut

        content://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
      • Règle de transformation

        e_set("url",url_parse(v("content"),scheme="https", allow_fragments=False))
      • Résultat

        content://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib
        url:{
               "scheme": "https",
                "netloc": "username:username@example.com:8083",
                "path": "/hello/asdah/;type=docx",
                "query": "filename=python3.docx",
                "fragment": ""
            }

url_parse_qs

Cette fonction décompose les composants d'une chaîne de requête d'URL.

  • Syntaxe

    url_parse_qs(
        url_qs,
        keep_blank_values=False,
        strict_parsing=False,
        encoding="utf-8",
        errors="replace",
        ignore_multi_fields=True,
    )
  • Paramètres

    Nom du paramètre

    Type de données

    Obligatoire

    Description

    url_qs

    String

    Oui

    La chaîne de requête d'URL à analyser.

    keep_blank_values

    Boolean

    Non

    Indique s'il faut renvoyer les paramètres ayant des valeurs vides.

    • False (par défaut) : la valeur n'est pas renvoyée.

    • True : renvoie ces paramètres et attribue à leurs valeurs des chaînes vides.

    strict_parsing

    Boolean

    Non

    Définit la manière de gérer les erreurs d'analyse.

    • True : déclenche une exception ValueError.

    • False (par défaut) : ignore les erreurs.

    encoding

    String

    Non

    Le codec utilisé pour décoder les caractères encodés en pourcentage en Unicode. Valeur par défaut : utf-8. ASCII est également pris en charge.

    errors

    String

    Non

    Définit la manière de gérer les caractères qui ne peuvent pas être décodés par le codec spécifié. Valeurs valides :

    • ignore : aucune action n'est entreprise.

    • strict : signale une erreur et ignore l'entrée de journal.

    • replace (par défaut) : remplace les caractères non reconnus par un point d'interrogation (?).

    • xmlcharrefreplace : remplace les caractères non reconnus par les références de caractère XML correspondantes.

    ignore_multi_fields

    Number

    Non

    Indique s'il faut renvoyer uniquement la première valeur pour chaque paramètre.

    • True (par défaut) : renvoie uniquement la première valeur pour chaque paramètre. La valeur est une chaîne.

    • False : renvoie toutes les valeurs pour chaque paramètre. Les valeurs sont renvoyées sous forme de liste.

  • Réponse

    Renvoie un objet JSON contenant les champs suivants.

    Champ

    Description

    logType

    Type de journal.

    uid

    Identifiant unique du journal.

    time

    Horodatage du journal.

    msg

    Contenu du message du journal.

  • Exemples

    • Exemple 1 : définissez le paramètre keep_blank_values sur True. Le résultat inclut les paramètres ayant des valeurs vides.

      • Journal brut

        content:logType=net_wheel_log&uid=62452****&vid=6.1.0_gf_pc&asb=1206427&git=&time=22-11-3+%e4%b8%8a11%e6%97%b649%e5%88%8633%e7%a7%92&operatingSystem=Windows+10++(10.0.0)+64bit&deviceModel=System+Product+Name+(System+manufacturer)&graphicsDeviceName=NVIDIA+GeForce+GTX+1650&graphicsDeviceType=Direct3D11&graphicsDeviceVendor=NVIDIA&graphicsDeviceVersion=Direct3D+11.0+%5blevel+11.1%5d&graphicsMemorySize=3962&systemMemorySize=8127&processorCount=6&processorFrequency=3000&processorType=Intel(R)+Core(TM)+i5-9500F+CPU+%40+3.00GHz&deviceID=96da5902a042a5f84118995f88373f73650e76be166589726****&guessUID=62452****&networkReachability=wifi&msg=GetAuthkeyRsp
      • Règle de transformation

        e_set("url",url_parse_qs(v("content"), keep_blank_values=True))
      • Résultat

        content:logType=net_wheel_log&uid=62452****&vid=6.1.0_gf_pc&asb=1206427&git=&time=22-11-3+%e4%b8%8a11%e6%97%b649%e5%88%8633%e7%a7%92&operatingSystem=Windows+10++(10.0.0)+64bit&deviceModel=System+Product+Name+(System+manufacturer)&graphicsDeviceName=NVIDIA+GeForce+GTX+1650&graphicsDeviceType=Direct3D11&graphicsDeviceVendor=NVIDIA&graphicsDeviceVersion=Direct3D+11.0+%5blevel+11.1%5d&graphicsMemorySize=3962&systemMemorySize=8127&processorCount=6&processorFrequency=3000&processorType=Intel(R)+Core(TM)+i5-9500F+CPU+%40+3.00GHz&deviceID=96da5902a042a5f84118995f88373f73650e76be166589726****&guessUID=62452****&networkReachability=wifi&msg=GetAuthkeyRsp
        url:{
                "logType": "net_wheel_log",
                "uid": "62452****",
                "vid": "6.1.0_gf_pc",
                "asb": "1206427",
                "git": "",
                "time": "22-11-3 11:49:33 AM",
                "operatingSystem": "Windows 10  (10.0.0) 64bit",
                "deviceModel": "System Product Name (System manufacturer)",
                "graphicsDeviceName": "NVIDIA GeForce GTX 1650",
                "graphicsDeviceType": "Direct3D11",
                "graphicsDeviceVendor": "NVIDIA",
                "graphicsDeviceVersion": "Direct3D 11.0 [level 11.1]",
                "graphicsMemorySize": "3962",
                "systemMemorySize": "8127",
                "processorCount": "6",
                "processorFrequency": "3000",
                "processorType": "Intel(R) Core(TM) i5-9500F CPU @ 3.00GHz",
                "deviceID": "96da5902a042a5f84118995f88373f73650e76be166589726****",
                "guessUID": "62452****",
                "networkReachability": "wifi",
                "msg": "GetAuthkeyRsp"
            }
    • Exemple 2 : conservez la valeur par défaut (False) pour le paramètre keep_blank_values. Le résultat n'inclut pas les paramètres ayant des valeurs vides.

      • Journal brut

        content:logType=net_wheel_log&uid=62452****&vid=6.1.0_gf_pc&asb=1206427&git=&time=22-11-3+%e4%b8%8a11%e6%97%b649%e5%88%8633%e7%a7%92&operatingSystem=Windows+10++(10.0.0)+64bit&deviceModel=System+Product+Name+(System+manufacturer)&graphicsDeviceName=NVIDIA+GeForce+GTX+1650&graphicsDeviceType=Direct3D11&graphicsDeviceVendor=NVIDIA&graphicsDeviceVersion=Direct3D+11.0+%5blevel+11.1%5d&graphicsMemorySize=3962&systemMemorySize=8127&processorCount=6&processorFrequency=3000&processorType=Intel(R)+Core(TM)+i5-9500F+CPU+%40+3.00GHz&deviceID=96da5902a042a5f84118995f88373f73650e76be166589726****&guessUID=62452****&networkReachability=wifi&msg=GetAuthkeyRsp
      • Règle de transformation

        e_set("url",url_parse_qs(v("content")))
      • Résultat

        content:logType=net_wheel_log&uid=62452****&vid=6.1.0_gf_pc&asb=1206427&git=&time=22-11-3+%e4%b8%8a11%e6%97%b649%e5%88%8633%e7%a7%92&operatingSystem=Windows+10++(10.0.0)+64bit&deviceModel=System+Product+Name+(System+manufacturer)&graphicsDeviceName=NVIDIA+GeForce+GTX+1650&graphicsDeviceType=Direct3D11&graphicsDeviceVendor=NVIDIA&graphicsDeviceVersion=Direct3D+11.0+%5blevel+11.1%5d&graphicsMemorySize=3962&systemMemorySize=8127&processorCount=6&processorFrequency=3000&processorType=Intel(R)+Core(TM)+i5-9500F+CPU+%40+3.00GHz&deviceID=96da5902a042a5f84118995f88373f73650e76be166589726****&guessUID=62452****&networkReachability=wifi&msg=GetAuthkeyRsp
        url:{
                "logType": "net_wheel_log",
                "uid": "62452****",
                "vid": "6.1.0_gf_pc",
                "asb": "1206427",
                "time": "22-11-3 11:49:33",
                "operatingSystem": "Windows 10  (10.0.0) 64bit",
                "deviceModel": "System Product Name (System manufacturer)",
                "graphicsDeviceName": "NVIDIA GeForce GTX 1650",
                "graphicsDeviceType": "Direct3D11",
                "graphicsDeviceVendor": "NVIDIA",
                "graphicsDeviceVersion": "Direct3D 11.0 [level 11.1]",
                "graphicsMemorySize": "3962",
                "systemMemorySize": "8127",
                "processorCount": "6",
                "processorFrequency": "3000",
                "processorType": "Intel(R) Core(TM) i5-9500F CPU @ 3.00GHz",
                "deviceID": "96da5902a042a5f84118995f88373f73650e76be166589726****",
                "guessUID": "62452****",
                "networkReachability": "wifi",
                "msg": "GetAuthkeyRsp"
            }
    • Exemple 3 : conservez la valeur par défaut (True) pour le paramètre ignore_multi_fields. Seule la première valeur de chaque paramètre est renvoyée.

      • Journal brut

        content:logType=net_log&uid=62452****&x=1&x=2&x=3&asb=123&asb=456
      • Règle de transformation

        e_set("url",url_parse_qs(v("content")))
      • Résultat

        content:logType=net_log&uid=62452****&x=1&x=2&x=3&asb=123&asb=456
        url:{
            "logType": "net_log",
            "uid": "62452****",
            "x": "1",
            "asb": "123"
        }
    • Exemple 4 : définissez le paramètre ignore_multi_fields sur False. Toutes les valeurs de chaque paramètre sont renvoyées.

      • Journal brut

        content:logType=net_log&uid=62452****&x=1&x=2&x=3&asb=123&asb=456
      • Règle de transformation

        e_set("url",url_parse_qs(v("content"),ignore_multi_fields=False))
      • Résultat

        content:logType=net_log&uid=62452****&x=1&x=2&x=3&asb=123&asb=456
        url:{
            "logType": ["net_log"],
              "uid": ["62452****"],
              "x": ["1", "2", "3"],
              "asb": ["123", "456"]
        }