private void prepareIp(DataRow _row) { ipAddress.IpClassification = UdgerParser.ConvertToStr(_row["ip_classification"]); ipAddress.IpClassificationCode = UdgerParser.ConvertToStr(_row["ip_classification_code"]); ipAddress.IpLastSeen = UdgerParser.ConvertToStr(_row["ip_last_seen"]); ipAddress.IpHostname = UdgerParser.ConvertToStr(_row["ip_hostname"]); ipAddress.IpCountry = UdgerParser.ConvertToStr(_row["ip_country"]); ipAddress.IpCountryCode = UdgerParser.ConvertToStr(_row["ip_country_code"]); ipAddress.IpCity = UdgerParser.ConvertToStr(_row["ip_city"]); ipAddress.CrawlerName = UdgerParser.ConvertToStr(_row["name"]); ipAddress.CrawlerVer = UdgerParser.ConvertToStr(_row["ver"]); ipAddress.CrawlerVerMajor = UdgerParser.ConvertToStr(_row["ver_major"]); ipAddress.CrawlerFamily = UdgerParser.ConvertToStr(_row["family"]); ipAddress.CrawlerFamilyCode = UdgerParser.ConvertToStr(_row["family_code"]); ipAddress.CrawlerFamilyHomepage = UdgerParser.ConvertToStr(_row["family_homepage"]); ipAddress.CrawlerFamilyVendor = UdgerParser.ConvertToStr(_row["vendor"]); ipAddress.CrawlerFamilyVendorCode = UdgerParser.ConvertToStr(_row["vendor_code"]); ipAddress.CrawlerFamilyVendorHomepage = UdgerParser.ConvertToStr(_row["vendor_homepage"]); ipAddress.CrawlerFamilyIcon = UdgerParser.ConvertToStr(_row["family_icon"]); ipAddress.CrawlerLastSeen = UdgerParser.ConvertToStr(_row["last_seen"]); ipAddress.CrawlerCategory = UdgerParser.ConvertToStr(_row["crawler_classification"]); ipAddress.CrawlerCategoryCode = UdgerParser.ConvertToStr(_row["crawler_classification_code"]); if (ipAddress.IpClassificationCode == "crawler") { ipAddress.CrawlerFamilyInfoUrl = "https://udger.com/resources/ua-list/bot-detail?bot=" + UdgerParser.ConvertToStr(_row["family"]) + "#id" + UdgerParser.ConvertToStr(_row["botid"]); } ipAddress.CrawlerRespectRobotstxt = UdgerParser.ConvertToStr(_row["respect_robotstxt"]); }
private void prepareDevice(DataRow _row, ref int _deviceClassId) { _deviceClassId = Convert.ToInt32(_row["deviceclass_id"]); userAgent.DeviceClass = UdgerParser.ConvertToStr(_row["name"]); userAgent.DeviceClassCode = UdgerParser.ConvertToStr(_row["name_code"]); userAgent.DeviceClassIcon = UdgerParser.ConvertToStr(_row["icon"]); userAgent.DeviceClassIconBig = UdgerParser.ConvertToStr(_row["icon_big"]); userAgent.DeviceClassInfoUrl = "https://udger.com/resources/ua-list/device-detail?device=" + UdgerParser.ConvertToStr(_row["name"]); }
private void parseIP(string _ip) { string ipLoc; if (!string.IsNullOrEmpty(_ip)) { ipAddress.Ip = this.ip; if (dt.Connected) { int ipVer = this.getIPAddressVersion(ip, out ipLoc); if (ipVer != 0) { if (ipLoc != "") { _ip = ipLoc; } ipAddress.IpVer = UdgerParser.ConvertToStr(ipVer); DataTable ipTable = dt.selectQuery(@"SELECT udger_crawler_list.id as botid,ip_last_seen,ip_hostname,ip_country,ip_city,ip_country_code,ip_classification,ip_classification_code, name,ver,ver_major,last_seen,respect_robotstxt,family,family_code,family_homepage,family_icon,vendor,vendor_code,vendor_homepage,crawler_classification,crawler_classification_code,crawler_classification FROM udger_ip_list JOIN udger_ip_class ON udger_ip_class.id=udger_ip_list.class_id LEFT JOIN udger_crawler_list ON udger_crawler_list.id=udger_ip_list.crawler_id LEFT JOIN udger_crawler_class ON udger_crawler_class.id=udger_crawler_list.class_id WHERE ip=" + '"' + _ip + '"' + " ORDER BY sequence"); if (ipTable != null && ipTable.Rows.Count > 0) { this.prepareIp(ipTable.Rows[0]); } if (ipVer == 4) { long ipLong = this.AddrToInt(_ip);//ip2Long.Address; DataTable dataCenter = dt.selectQuery(@"select name, name_code, homepage FROM udger_datacenter_range JOIN udger_datacenter_list ON udger_datacenter_range.datacenter_id = udger_datacenter_list.id where iplong_from <= " + ipLong.ToString() + " AND iplong_to >=" + ipLong.ToString()); if (dataCenter != null && dataCenter.Rows.Count > 0) { this.prepareIpDataCenter(dataCenter.Rows[0]); } } } } } }
private void prepareOs(DataRow _row, ref int _osId) { _osId = Convert.ToInt32(_row["os_id"]); userAgent.Os = UdgerParser.ConvertToStr(_row["name"]); userAgent.OsCode = UdgerParser.ConvertToStr(_row["name_code"]); userAgent.OsHomepage = UdgerParser.ConvertToStr(_row["homepage"]); userAgent.OsIcon = UdgerParser.ConvertToStr(_row["icon"]); userAgent.OsIconBig = UdgerParser.ConvertToStr(_row["icon_big"]); userAgent.OsInfoUrl = "https://udger.com/resources/ua-list/os-detail?os=" + UdgerParser.ConvertToStr(_row["name"]); userAgent.OsFamily = UdgerParser.ConvertToStr(_row["family"]); userAgent.OsFamilyCode = UdgerParser.ConvertToStr(_row["family_code"]); userAgent.OsFamilyVendor = UdgerParser.ConvertToStr(_row["vendor"]); userAgent.OsFamilyVendorCode = UdgerParser.ConvertToStr(_row["vendor_code"]); userAgent.OsFamilyVendorHomepage = UdgerParser.ConvertToStr(_row["vendor_homepage"]); }
private void prepareCrawler(DataRow _row) { userAgent.UaClass = "Crawler"; userAgent.UaClassCode = "crawler"; userAgent.Ua = UdgerParser.ConvertToStr(_row["name"]); userAgent.UaVersion = UdgerParser.ConvertToStr(_row["ver"]); userAgent.UaVersionMajor = UdgerParser.ConvertToStr(_row["ver_major"]); userAgent.UaFamily = UdgerParser.ConvertToStr(_row["family"]); userAgent.UaFamilyCode = UdgerParser.ConvertToStr(_row["family_code"]); userAgent.UaFamilyHompage = UdgerParser.ConvertToStr(_row["family_homepage"]); userAgent.UaFamilyVendor = UdgerParser.ConvertToStr(_row["vendor"]); userAgent.UaFamilyVendorCode = UdgerParser.ConvertToStr(_row["vendor_code"]); userAgent.UaFamilyVendorCode = UdgerParser.ConvertToStr(_row["vendor_homepage"]); userAgent.UaFamilyIcon = UdgerParser.ConvertToStr(_row["family_icon"]); userAgent.UaFamilyIconUrl = "https://udger.com/resources/ua-list/bot-detail?bot=" + UdgerParser.ConvertToStr(_row["family"]) + "#id" + UdgerParser.ConvertToStr(_row["botid"]); userAgent.CrawlerLastSeen = UdgerParser.ConvertToStr(_row["last_seen"]); userAgent.CrawlerCategory = UdgerParser.ConvertToStr(_row["crawler_classification"]); userAgent.CrawlerCategoryCode = UdgerParser.ConvertToStr(_row["crawler_classification_code"]); userAgent.CrawlerRespectRobotstxt = UdgerParser.ConvertToStr(_row["respect_robotstxt"]); }
private void prepareClientRegex(DataRow _row, System.Text.RegularExpressions.Match _match, ref int _clienId, ref int _clientClassId) { _clienId = Convert.ToInt32(_row["client_id"]); _clientClassId = Convert.ToInt32(_row["class_id"]); userAgent.UaString = this.ua; userAgent.UaClass = UdgerParser.ConvertToStr(_row["client_classification"]);//ToString(); userAgent.UaClassCode = UdgerParser.ConvertToStr(_row["client_classification_code"]); userAgent.Ua = UdgerParser.ConvertToStr(_row["name"]) + _match.Groups[1].Value; userAgent.UaVersion = _match.Groups[1].Value; string[] spliter = _match.Groups[1].Value.Split('.'); userAgent.UaVersionMajor = spliter[0]; userAgent.UaUptodateCurrentVersion = UdgerParser.ConvertToStr(_row["uptodate_current_version"]); userAgent.UaFamily = UdgerParser.ConvertToStr(_row["name"]); userAgent.UaFamilyCode = UdgerParser.ConvertToStr(_row["name_code"]); userAgent.UaFamilyHompage = UdgerParser.ConvertToStr(_row["homepage"]); userAgent.UaFamilyVendor = UdgerParser.ConvertToStr(_row["vendor"]); userAgent.UaFamilyVendorCode = UdgerParser.ConvertToStr(_row["vendor_code"]); userAgent.UaFamilyVendorHomepage = UdgerParser.ConvertToStr(_row["vendor_homepage"]); userAgent.UaFamilyIcon = UdgerParser.ConvertToStr(_row["icon"]); userAgent.UaFamilyIconBig = UdgerParser.ConvertToStr(_row["icon_big"]); userAgent.UaFamilyIconUrl = "https://udger.com/resources/ua-list/browser-detail?browser=" + UdgerParser.ConvertToStr(_row["name"]); userAgent.UaEngine = UdgerParser.ConvertToStr(_row["engine"]); }
private void prepareIpDataCenter(DataRow _row) { ipAddress.DatacenterName = UdgerParser.ConvertToStr(_row["name"]); ipAddress.DatacenterNameCode = UdgerParser.ConvertToStr(_row["name_code"]); ipAddress.DatacenterHomepage = UdgerParser.ConvertToStr(_row["homepage"]); }