UserAgentParser.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. namespace Application.Common;
  2. public static class UserAgentParser
  3. {
  4. public static string ExtractBrowser(string ua)
  5. {
  6. if (ua.Contains("Edg/")) return "Edge";
  7. if (ua.Contains("Chrome/")) return "Chrome";
  8. if (ua.Contains("Firefox/")) return "Firefox";
  9. if (ua.Contains("Safari/") && !ua.Contains("Chrome")) return "Safari";
  10. if (ua.Contains("MSIE") || ua.Contains("Trident/")) return "IE";
  11. return "Unknown";
  12. }
  13. public static string ExtractOS(string ua)
  14. {
  15. if (ua.Contains("Windows NT 10")) return "Windows 10";
  16. if (ua.Contains("Windows NT 6.3")) return "Windows 8.1";
  17. if (ua.Contains("Windows NT 6.1")) return "Windows 7";
  18. if (ua.Contains("Windows")) return "Windows";
  19. if (ua.Contains("Mac OS X")) return "macOS";
  20. if (ua.Contains("Android")) return "Android";
  21. if (ua.Contains("iPhone") || ua.Contains("iPad")) return "iOS";
  22. if (ua.Contains("Linux")) return "Linux";
  23. return "Unknown";
  24. }
  25. public static string ExtractDevice(string ua)
  26. {
  27. if (ua.Contains("Mobile") || ua.Contains("Android") && !ua.Contains("Tablet")) return "Mobile";
  28. if (ua.Contains("Tablet") || ua.Contains("iPad")) return "Tablet";
  29. return "Desktop";
  30. }
  31. }