12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- // util
- package common
- import (
- "net"
- "net/http"
- "strings"
- )
- //获取平台类型
- func GetOS(useros string) string {
- osVersion := "其他"
- if strings.Contains(useros, "NT 6.0") {
- osVersion = "Windows Vista/Server 2008"
- } else if strings.Contains(useros, "NT 5.2") {
- osVersion = "Windows Server 2003"
- } else if strings.Contains(useros, "NT 5.1") {
- osVersion = "Windows XP"
- } else if strings.Contains(useros, "NT 5") {
- osVersion = "Windows 2000"
- } else if strings.Contains(useros, "Mac") {
- osVersion = "Mac"
- } else if strings.Contains(useros, "Unix") {
- osVersion = "UNIX"
- } else if strings.Contains(useros, "Linux") {
- osVersion = "Linux"
- } else if strings.Contains(useros, "SunOS") {
- osVersion = "SunOS"
- } else if strings.Contains(useros, "NT 6.3") {
- osVersion = "Window8"
- } else if strings.Contains(useros, "NT 6.1") {
- osVersion = "Window7"
- } else if strings.Contains(useros, "NT 10.0") {
- osVersion = "Window10"
- }
- return osVersion
- }
- //获取浏览器类型
- func GetBrowse(userbrowser string) string {
- browserVersion := "其他"
- if strings.Contains(userbrowser, "MSIE") {
- browserVersion = "IE"
- } else if strings.Contains(userbrowser, "Firefox") {
- browserVersion = "Firefox"
- } else if strings.Contains(userbrowser, "Chrome") {
- browserVersion = "Chrome"
- } else if strings.Contains(userbrowser, "Safari") {
- browserVersion = "Safari"
- } else if strings.Contains(userbrowser, "rv:11.0") {
- browserVersion = "IE11"
- }
- return browserVersion
- }
- //获取ip
- func GetIp(req *http.Request) string {
- if req == nil {
- return ""
- }
- ip_for := req.Header.Get("x-forwarded-for")
- ip_client := req.Header.Get("http_client_ip")
- ip_addr := req.Header.Get("Remote_addr")
- un := "unknown"
- if (ip_for != un) && (len(strings.TrimSpace(ip_for)) > 0) {
- return ip_for
- }
- if (ip_client != un) && (len(strings.TrimSpace(ip_client)) > 0) {
- return ip_client
- }
- if (ip_addr != un) && (len(strings.TrimSpace(ip_addr)) > 0) {
- return ip_addr
- }
- ip, _, _ := net.SplitHostPort(req.RemoteAddr)
- return ip
- }
|