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 |
|
Extrait les informations relatives à l'appareil à partir de la chaîne User-Agent. |
|
|
Extrait les informations relatives au système d'exploitation à partir de la chaîne User-Agent. |
|
|
Extrait les informations relatives au navigateur à partir de la chaîne User-Agent. |
|
|
Extrait toutes les informations contenues dans la chaîne User-Agent. |
|
|
Analyse les composants d'une URL. |
|
|
Analyse les paramètres contenus dans la chaîne de requête d'une URL. |
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"] }
-
-