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 (
"context"
"io"
"net/http"
"regexp"
"strings"
@ -48,7 +47,7 @@ func (s Scanner) FromData(ctx context.Context, verify bool, data []byte) (result
}
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 {
continue
}
@ -56,20 +55,13 @@ func (s Scanner) FromData(ctx context.Context, verify bool, data []byte) (result
res, err := client.Do(req)
if err == nil {
defer res.Body.Close()
bodyBytes, err := io.ReadAll(res.Body)
if err != nil {
continue
}
body := string(bodyBytes)
if !strings.Contains(body, "Not enough requests.") {
if (res.StatusCode >= 200 && res.StatusCode < 300) || res.StatusCode == 429 {
s1.Verified = true
} else {
if detectors.IsKnownFalsePositive(resMatch, detectors.DefaultFalsePositives, true) {
continue
}
}
}
}