Program.cs
1/*
2 UdgerParser - Test - Local parser lib
3
4 author The Udger.com Team (info@udger.com)
5 copyright Copyright (c) Udger s.r.o.
6
7 license GNU Lesser General Public License
8 link http://udger.com/products/local_parser
9*/
10
11
12using System;
13using System.Collections.Generic;
14using System.IO;
15using Udger.Parser;
16
17
18namespace ConsoleTest
19{
20 class Program
21 {
22
23 static void Main(string[] args)
24 {
25 TestByJson jsonTest;
26
27 jsonTest = new TestByJson(@"C:\udger\test_ua.json");
28 var retJson = jsonTest.doTest();
29
30 foreach (var line in retJson)
31 {
32 Console.WriteLine(line);
33 }
34
35 Console.ReadLine();
36
37
40
41 // Create a new UdgerParser object
42 UdgerParser parser = new UdgerParser();
43 // or Create and set LRU Cache capacity
44 //UdgerParser parser = new UdgerParser(5000);
45
46 // Set data dir (in this directory is stored data file: udgerdb_v4.dat)
47 // Test data file is available on: https://github.com/udger/test-data/tree/master/data_v4
48 // Full data file can be downloaded manually from http://data.udger.com/, but we recommend use udger-updater
49 parser.SetDataDir(@"C:\udger");
50 // or set data dir and DB filename
51 //parser.SetDataDir(@"C:\udger", "udgerdb_v4-noip.dat ");
52
53 // Set user agent and /or IP address
54 parser.ua = @"Mozilla/5.0 (compatible; SeznamBot/3.2; +http://fulltext.sblog.cz/)";
55 parser.ip = "77.75.74.35";
56
57 // Parse
58 parser.setHeader(@"Sec-Ch-Ua: ""Chromium"";v=""104"", "" Not A;Brand"";v=""99"", ""Google Chrome"";v=""104""
59Sec-Ch-Ua-Mobile: ?0
60Sec-Ch-Ua-Full-Version: ""104.0.5112.102""
61Sec-Ch-Ua-Arch: ""x86""
62Sec-Ch-Ua-Platform: ""Windows""
63Sec-Ch-Ua-Platform-Version: ""14.0.0""
64Sec-Ch-Ua-Model: """"
65Sec-Ch-Ua-Bitness: ""64""
66Sec-Ch-Ua-Full-Version-List: ""Chromium"";v=""104.0.5112.102"", "" Not A;Brand"";v=""99.0.0.0"", ""Google Chrome"";v=""104.0.5112.102""
67User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36");
68
69 parser.parse();
70
71 parser.setHeader(@"Sec-Ch-Ua: ""Chromium"";v=""104"", "" Not A;Brand"";v=""99"", ""Google Chrome"";v=""104""
72Sec-Ch-Ua-Mobile: ?0
73Sec-Ch-Ua-Platform: ""Windows""
74User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36");
75 parser.parse();
76
77 parser.header.SecChUaFullVersionList = @"""Chromium"";v=""104.0.5112.102"", "" Not A;Brand"";v=""99.0.0.0"", ""Google Chrome"";v=""104.0.5112.102""";
78 parser.header.SecChUaMobile = @"?0";
79 parser.header.SecChUaPlatform = @"""Windows""";
80 parser.header.SecChUaPlatformVersion = @"""14.0.0""";
81
82 parser.parse();
83
84 parser.header.SecChUaFullVersionList = @"""Chromium"";v=""104.0.5112.102"", "" Not A;Brand"";v=""99.0.0.0"", ""Google Chrome"";v=""104.0.5112.102""";
85 parser.header.SecChUaMobile = @"?0";
86 parser.header.SecChUaPlatform = @"""Windows""";
87 parser.header.SecChUaPlatformVersion = @"""14.0.0""";
88
89 parser.parse();
90
91 parser.header.SecChUa = @"""Chromium"";v=""104"", "" Not A; Brand"";v=""99"", ""Google Chrome"";v=""104""";
92 parser.header.SecChUaMobile = @"?0";
93 parser.header.SecChUaFullVersion = @"""97.0.4692.71""";
94
95 parser.parse();
96
97 parser.header.SecChUa = @"""Chromium"";v=""104"", "" Not A; Brand"";v=""99"", ""Google Chrome"";v=""104""";
98 parser.header.SecChUaMobile = @"?1";
99 parser.header.SecChUaFullVersion = @"""104.0.5112.97""";
100 parser.ua = @"Mozilla/5.0 (Linux; Android 11; CPH2001) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Mobile Safari/537.36";
101 parser.header.SecChUaFullVersionList = @"""Chromium"";v=""104.0.5112.102"", "" Not A;Brand"";v=""99.0.0.0"", ""Google Chrome"";v=""104.0.5112.102""";
102 parser.header.SecChUaModel = @"""CPH2001""";
103 parser.header.SecChUaPlatform = @"""Android""";
104 parser.header.SecChUaPlatformVersion = @"""11.0.0""";
105
106 parser.parse();
107
108 // Get information
109 a = parser.userAgent;
110 i = parser.ipAddress;
111
112 // Set user agent and /or IP address
113 parser.ua = @"Mozilla/5.0 (Linux; U; Android 4.0.4; sk-sk; Luna TAB474 Build/LunaTAB474) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30";
114 parser.parse();
115 a = parser.userAgent;
116
117
118 parser.ip = "2a02:598:111::9";
119 parser.parse();
120 i = parser.ipAddress;
121
122 }
123
124
125 }
126}
void SetDataDir(string dataDir)
Set the data directory
Definition: UdgerParser.cs:121
void parse()
Parse the useragent string and/or ip address ///
Definition: UdgerParser.cs:171