utils.go 759 B

12345678910111213141516171819202122232425262728293031323334
  1. package utils
  2. import (
  3. "fmt"
  4. "github.com/mssola/user_agent"
  5. "net/http"
  6. )
  7. type UserAgentInfo struct {
  8. BrowserName string
  9. BrowserVersion string
  10. OsName string
  11. OsVersion string
  12. Platform string
  13. }
  14. // 获取浏览器信息
  15. func GetUserAgentInfo(r *http.Request) (u *UserAgentInfo) {
  16. u = &UserAgentInfo{}
  17. // 获取浏览器信息
  18. userAgentString := r.UserAgent()
  19. // 创建 UserAgent 对象
  20. ua := user_agent.New(userAgentString)
  21. // 获取浏览器版本信息
  22. u.BrowserName, u.BrowserVersion = ua.Browser()
  23. // 获取操作系统信息
  24. osInfo := ua.OSInfo()
  25. u.OsName, u.OsVersion = osInfo.Name, osInfo.Version
  26. //平台信息
  27. u.Platform = ua.Platform()
  28. // 打印浏览器版本信息
  29. fmt.Println("UserAgent:", u)
  30. return
  31. }