fix
liuxiaolong
2019-12-04 fa441753409d0e83f8fb3c9d00ee1abae2ec98dd
extend/util/util.go
@@ -3,12 +3,9 @@
import (
   "bytes"
   "encoding/json"
   "errors"
   "image"
   "io/ioutil"
   "net"
   "net/http"
   "os/exec"
   "strconv"
   "webserver/extend/code"
@@ -136,45 +133,6 @@
   return
}
// 获取本机网卡IP
func GetLocalIP(networkName string) (ipv4 string, mask string, err error) {
   interfaces, err := net.Interfaces()
   if err != nil {
      return "", "", err
   }
   for _, i := range interfaces {
      byName, err := net.InterfaceByName(i.Name)
      if err != nil {
         return "", "", err
      }
      addresses, err := byName.Addrs()
      for _, v := range addresses {
         if ipnet, ok := v.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
            if ipnet.IP.To4() != nil {
               if byName.Name == networkName {
                  maskStr := ipnet.Mask.String()
                  mask64, _ := strconv.ParseUint(maskStr, 16, 32)
                  return ipnet.IP.String(), IpIntToString(int(mask64)), nil
               }
            }
         }
      }
   }
   return "", "", errors.New("ipv4 not found")
}
func GetDefaultRoute(networkName string) (route string, err error) {
   cmdStr := fmt.Sprintf("ip route show | grep -P \"^default.*%s\" | awk '{print $3}'", networkName)
   cmd := exec.Command("/bin/sh", "-c", cmdStr)
   b, err := cmd.Output()
   if err != nil {
      return "", err
   }
   return string(b), nil
}
func StringIpToInt(ipstring string) int {
   ipSegs := strings.Split(ipstring, ".")
   var ipInt int = 0
@@ -215,6 +173,14 @@
   return float32(f)
}
func ParseScore64(compareScore float64) float64 {
   if compareScore < 1 {
      compareScore = compareScore * 100
   }
   f, _ := strconv.ParseFloat(fmt.Sprintf("%2.2f", compareScore), 64)
   return f
}
// UnCompress uncompress
func UnCompress(in []byte) ([]byte, error) {
   out := make([]byte, 10*len(in))