From fa6053d1ad3d934bf26a52171f018bbdeb9965bd Mon Sep 17 00:00:00 2001 From: gaopeng2 Date: Fri, 31 Dec 2021 16:50:57 +0800 Subject: [PATCH] fix err when using only one field --- internal/fofa/fofa_api.go | 9 +++++---- internal/runner/run.go | 5 ++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/fofa/fofa_api.go b/internal/fofa/fofa_api.go index f0e7c4a..1ec201f 100644 --- a/internal/fofa/fofa_api.go +++ b/internal/fofa/fofa_api.go @@ -116,6 +116,9 @@ func (f *FoFa) fetchByFields(fields string, queryStr string) bool { printer.Errorf(printer.HandlerLine("request failed: " + err.Error())) return false } + if f.option.FetchFields != cli.DefaultField { + printer.Debugf("Fields : %s", strings.Join(strings.Split(f.option.FetchFields, ","), f.option.FetchFieldsSplit)) + } req.Header.Set("fofax-client-%s", cli.FoFaXVersion) // 计算时长 start := time.Now().UnixMilli() @@ -135,7 +138,7 @@ func (f *FoFa) fetchByFields(fields string, queryStr string) bool { printer.Errorf(printer.HandlerLine("body read failed: " + err.Error())) } if f.option.Debug { - printer.Debugf("Resp Time: %f/millis", float64(time.Now().UnixMilli()-start)) + printer.Debugf("Resp Time: %.2f/millis", float64(time.Now().UnixMilli()-start)) } var apiResult ApiResults @@ -151,9 +154,7 @@ func (f *FoFa) fetchByFields(fields string, queryStr string) bool { printer.Debugf("Fofa Api Query: %s", apiResult.Query) } printer.Successf("Fetch Data From FoFa: [%d/%d]", len(apiResult.Results), apiResult.Size) - if f.option.FetchFields != cli.DefaultField { - fmt.Println(strings.Join(strings.Split(f.option.FetchFields, ","), f.option.FetchFieldsSplit)) - } + for _, result := range apiResult.Results { //if len(result[0]) == 0 || result[0] == ":0" { // printer.Debug("There is no HostInfo!") diff --git a/internal/runner/run.go b/internal/runner/run.go index acbf131..48194ac 100644 --- a/internal/runner/run.go +++ b/internal/runner/run.go @@ -276,11 +276,10 @@ func (r *Runner) Run() *sync.Map { fo.FetchJarmOfDomain(fofaQuery) } else if r.options.FetchFields != cli.DefaultField { fo.FetchFn = func(fields []string, allSize int32) bool { - r.resMap.LoadOrStore(strings.Join(fields, r.options.FetchFieldsSplit), nil) - + r.resMap.LoadOrStore(strings.Join(fields[:len(fields)-1], r.options.FetchFieldsSplit), nil) return true } - fo.FetchField(r.options.FetchFields, fofaQuery) + fo.FetchField(r.options.FetchFields+",type", fofaQuery) } else { fo.FetchFn = func(fields []string, allSize int32) bool { fullUrl, err := utils.NewFixUrl(fields[0])