From 5f981089a11061bb6fa3fdb4c49ad8dd3385a00e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BD=B1=E8=88=9E=E8=80=85?= Date: Mon, 11 Oct 2021 17:58:26 +0800 Subject: [PATCH] =?UTF-8?q?-hf=20ip.txt,=E9=81=87=E5=88=B0=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E5=A4=B1=E8=B4=A5=E5=90=8E=E8=BF=9B=E8=A1=8C=E8=B7=B3?= =?UTF-8?q?=E8=BF=87=EF=BC=8C=E4=BB=A3=E6=9B=BF=E5=8E=9F=E6=9C=89=E7=9A=84?= =?UTF-8?q?=E9=80=80=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/Parse.go | 11 ++++++++--- common/ParseIP.go | 14 ++++++++++---- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/common/Parse.go b/common/Parse.go index b57a0e7..c26d889 100644 --- a/common/Parse.go +++ b/common/Parse.go @@ -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) + } } } diff --git a/common/ParseIP.go b/common/ParseIP.go index 1bf40b2..ed67681 100644 --- a/common/ParseIP.go +++ b/common/ParseIP.go @@ -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 }