Topik ini menjelaskan sintaksis dan parameter fungsi penguraian User-Agent serta memberikan contoh cara menggunakannya.
Fungsi
| Fungsi | Deskripsi |
| ua_parse_device | Mengurai User-Agent dan mengembalikan informasi perangkat. |
| ua_parse_os | Mengurai User-Agent dan mengembalikan informasi sistem operasi. |
| ua_parse_agent | Mengurai User-Agent dan mengembalikan informasi browser. |
| ua_parse_all | Mengurai User-Agent dan mengembalikan semua informasi. |
| url_parse | Mengurai URL dan mengembalikan komponen-komponen URL. |
| url_parse_qs | Mengurai string query dari URL dan mengembalikan komponen-komponen string query. |
Catatan Fungsi penguraian User-Agent menghapus bidang dengan nilai terurai None. Sebagai contoh, jika informasi perangkat yang diurai adalah
{'brand': None, 'family': 'Other', 'model': None}, maka bidang brand dan model akan dihapus, sehingga hasil akhirnya menjadi {'family': 'Other'}.ua_parse_device
Fungsi ua_parse_device mengurai User-Agent dan mengembalikan informasi perangkat.
ua_parse_device(value)Parameter Tipe Diperlukan Deskripsi value String Ya String User-Agent yang ingin Anda uraikan. Data berformat JSON dikembalikan.
- Log mentah
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 - Aturan transformasi
e_set("new_column",ua_parse_device(v("http_user_agent"))) - Hasil
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': 'Other'}
- Log mentah
ua_parse_os
Fungsi ua_parse_os mengurai User-Agent dan mengembalikan informasi sistem operasi.
ua_parse_os(value)Parameter Tipe Diperlukan Deskripsi value String Ya String User-Agent yang ingin Anda uraikan. Data berformat JSON dikembalikan.
- Log mentah
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 - Aturan transformasi
e_set("new_column",ua_parse_os(v("http_user_agent"))) - Hasil
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'}
- Log mentah
ua_parse_agent
Fungsi ua_parse_agent mengurai User-Agent dan mengembalikan informasi browser.
ua_parse_agent(value)Parameter Tipe Diperlukan Deskripsi value String Ya String User-Agent yang ingin Anda uraikan. Data berformat JSON dikembalikan.
- Log mentah
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 - Aturan transformasi
e_set("new_column",ua_parse_agent(v("http_user_agent"))) - Hasil
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'}
- Log mentah
ua_parse_all
Fungsi ua_parse_all mengurai User-Agent dan mengembalikan semua informasi.
ua_parse_all(value)Parameter Tipe Diperlukan Deskripsi value String Ya String User-Agent yang ingin Anda uraikan. Data berformat JSON dikembalikan.
- Log mentah
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 - Aturan transformasi
e_set("new_column",ua_parse_all(v("http_user_agent"))) - Hasil
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" } }
- Log mentah
url_parse
Fungsi url_parse mengurai URL dan mengembalikan komponen-komponen URL.
url_parse(url, scheme="", allow_fragments=True)Parameter Tipe Diperlukan Deskripsi value String Ya URL yang ingin Anda uraikan. scheme String Tidak Protokol jaringan. Parameter ini kosong secara default. Jika URL yang ingin Anda uraikan tidak mengandung protokol jaringan, nilai dari parameter ini akan dikembalikan untuk parameter scheme dalam hasil.
allow_fragments Boolean Tidak Menentukan apakah akan mengurai bagian fragmen dalam URL. Nilai valid: - True: mengurai bagian fragmen dalam URL. Nilai spesifik dikembalikan untuk parameter fragment. Ini adalah nilai default.
- False: tidak mengurai bagian fragmen dalam URL. String kosong dikembalikan untuk parameter fragment.
- Data berformat JSON dikembalikan. Tabel berikut menjelaskan parameter dalam hasil.
Parameter Deskripsi scheme Protokol jaringan. netloc Lokasi jaringan. path Pengenal jalur hierarkis. query Komponen query. fragment Pengenal fragmen. - Contoh 1: Gunakan pengaturan parameter default. Komponen-komponen URL dikembalikan.
- Log mentah
content:https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib - Aturan transformasi
e_set("url",url_parse(v("content"))) - Hasil
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", }
- Log mentah
- Contoh 2: Setel allow_fragments ke False. String kosong dikembalikan untuk parameter fragment.
- Log mentah
content:https://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib - Aturan transformasi
e_set("url",url_parse(v("content"),allow_fragments=False)) - Hasil
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": "", }
- Log mentah
- Contoh 3: Setel scheme ke https dan setel allow_fragments ke False. Nilai https dikembalikan untuk parameter scheme, dan string kosong dikembalikan untuk parameter fragment.
- Log mentah
content://username:username@example.com:8083/hello/asdah/;type=docx?filename=python3.docx#urllib - Aturan transformasi
e_set("url",url_parse(v("content"),scheme="https", allow_fragments=False)) - Hasil
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": "", }
- Log mentah
- Contoh 1: Gunakan pengaturan parameter default. Komponen-komponen URL dikembalikan.
url_parse_qs
Fungsi url_parse_qs mengurai string query dari URL dan mengembalikan komponen-komponen string query.
url_parse_qs( url_qs, keep_blank_values=False, strict_parsing=False, encoding="utf-8", errors="replace", ignore_multi_fields=True, )Parameter Tipe Diperlukan Deskripsi url_qs String Ya String query URL yang ingin Anda uraikan. keep_blank_values Boolean Tidak Menentukan apakah akan mengembalikan parameter yang kosong. Nilai valid: - False: tidak mengembalikan parameter yang kosong. Ini adalah nilai default.
- True: mengembalikan parameter yang kosong dan mengembalikan string kosong sebagai nilai untuk parameter tersebut.
strict_parsing Boolean Tidak Menentukan apakah akan menangani kesalahan penguraian. Nilai valid: - True: memicu pengecualian ValueError untuk kesalahan penguraian.
- False: mengabaikan kesalahan penguraian. Ini adalah nilai default.
encoding String Tidak Metode pengkodean. Nilai default: utf-8. Karakter escape yang mengandung tanda persen (%) diurai menjadi karakter Unicode. ASCII didukung. errors String Tidak Metode untuk memproses karakter yang tidak dapat dikenali berdasarkan metode encoding. Nilai yang valid: - ignore: mengabaikan karakter tersebut.
- strict: melaporkan kesalahan dan membuang log yang berisi karakter tersebut.
- replace: mengganti karakter dengan tanda tanya (?). Ini adalah nilai default.
- xmlcharrefreplace: mengganti karakter dengan karakter XML.
ignore_multi_fields Num No Jumlah nilai yang dikembalikan untuk satu parameter. Nilai valid: - True: hanya mengembalikan nilai pertama untuk setiap parameter. Nilai kembali adalah string. Ini adalah nilai default.
- False: mengembalikan semua nilai untuk setiap parameter. Nilai kembali adalah daftar.
- Data berformat JSON dikembalikan. Tabel berikut menjelaskan parameter dalam hasil.
Parameter Deskripsi logType Tipe log. uid Pengenal unik log. time Waktu log. msg Informasi dalam log. - Contoh 1: Setel keep_blank_values ke True. Parameter yang kosong dikembalikan.
- Log mentah
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 - Aturan transformasi
e_set("url",url_parse_qs(v("content"), keep_blank_values=True)) - Hasil
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", "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", }
- Log mentah
- Contoh 2: Setel keep_blank_values ke False. Parameter yang tidak kosong dikembalikan.
- Log mentah
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 - Aturan transformasi
e_set("url",url_parse_qs(v("content"))) - Hasil
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", }
- Log mentah
- Contoh 3: Setel ignore_multi_fields ke True. Hanya nilai pertama untuk setiap parameter yang dikembalikan.
- Log mentah
content:logType=net_log&uid=62452****&x=1&x=2&x=3&asb=123&asb=456 - Aturan transformasi
e_set("url",url_parse_qs(v("content"))) - Hasil
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" }
- Log mentah
- Contoh 4: Setel ignore_multi_fields ke False. Semua nilai untuk setiap parameter dikembalikan.
- Log mentah
content:logType=net_log&uid=62452****&x=1&x=2&x=3&asb=123&asb=456 - Aturan transformasi
e_set("url",url_parse_qs(v("content"),ignore_multi_fields=False)) - Hasil
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"], }
- Log mentah
- Contoh 1: Setel keep_blank_values ke True. Parameter yang kosong dikembalikan.