-hf ip.txt,遇到解析失败后进行跳过,代替原有的退出

This commit is contained in:
影舞者 2021-10-11 17:58:26 +08:00
parent dc267a5335
commit 5f981089a1
2 changed files with 18 additions and 7 deletions

View File

@ -149,10 +149,15 @@ func ParseScantype(Info *HostInfo) {
}
}
func CheckErr(text string, err error) {
func CheckErr(text string, err error, flag bool) {
if err != nil {
fmt.Println(text, err.Error())
os.Exit(0)
fmt.Println("Parse", text, "error: ", err.Error())
if flag {
if err != ParseIPErr {
fmt.Println(ParseIPErr)
}
os.Exit(0)
}
}
}

View File

@ -24,7 +24,7 @@ var ParseIPErr = errors.New(" host parsing error\n" +
func ParseIP(ip string, filename string, nohost string) (hosts []string, err error) {
if ip != "" {
hosts = ParseIPs(ip)
hosts = ParseIPs(ip, true)
}
if filename != "" {
var filehost []string
@ -33,7 +33,7 @@ func ParseIP(ip string, filename string, nohost string) (hosts []string, err err
}
if nohost != "" {
nohosts := ParseIPs(nohost)
nohosts := ParseIPs(nohost, true)
if len(nohosts) > 0 {
temp := map[string]struct{}{}
for _, host := range hosts {
@ -56,19 +56,25 @@ func ParseIP(ip string, filename string, nohost string) (hosts []string, err err
return hosts, err
}
func ParseIPs(ip string) (hosts []string) {
func ParseIPs(ip string, flag ...bool) (hosts []string) {
var err error
var flag1 bool
if len(flag) > 0 {
flag1 = flag[0]
}
if strings.Contains(ip, ",") {
IPList := strings.Split(ip, ",")
var ips []string
for _, ip := range IPList {
ips, err = ParseIPone(ip)
CheckErr(ip, err, flag1)
hosts = append(hosts, ips...)
}
} else {
hosts, err = ParseIPone(ip)
}
CheckErr(ip, err)
CheckErr(ip, err, flag1)
return hosts
}