updating detector logic for zenscrape (#2316)

* updating detector logic for zenscrape

* updating to use status endpoint
This commit is contained in:
joeleonjr 2024-01-22 16:57:51 -05:00 committed by GitHub
parent 2d96b89554
commit 443ef98e41
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2,7 +2,6 @@ package zenscrape
import ( import (
"context" "context"
"io"
"net/http" "net/http"
"regexp" "regexp"
"strings" "strings"
@ -48,7 +47,7 @@ func (s Scanner) FromData(ctx context.Context, verify bool, data []byte) (result
} }
if verify { if verify {
req, err := http.NewRequestWithContext(ctx, "GET", "https://app.zenscrape.com/api/v1/get?url=http://www.google.com", nil) req, err := http.NewRequestWithContext(ctx, "GET", "https://app.zenscrape.com/api/v1/status", nil)
if err != nil { if err != nil {
continue continue
} }
@ -56,20 +55,13 @@ func (s Scanner) FromData(ctx context.Context, verify bool, data []byte) (result
res, err := client.Do(req) res, err := client.Do(req)
if err == nil { if err == nil {
defer res.Body.Close() defer res.Body.Close()
bodyBytes, err := io.ReadAll(res.Body) if (res.StatusCode >= 200 && res.StatusCode < 300) || res.StatusCode == 429 {
if err != nil {
continue
}
body := string(bodyBytes)
if !strings.Contains(body, "Not enough requests.") {
s1.Verified = true s1.Verified = true
} else { } else {
if detectors.IsKnownFalsePositive(resMatch, detectors.DefaultFalsePositives, true) { if detectors.IsKnownFalsePositive(resMatch, detectors.DefaultFalsePositives, true) {
continue continue
} }
} }
} }
} }