From 56ae3a16dda829af0519d2a6c8cf499406a2ba3a Mon Sep 17 00:00:00 2001 From: edoardottt Date: Sat, 28 Aug 2021 09:52:10 +0200 Subject: [PATCH] Now print results at request, not response --- crawler/colly.go | 10 ++++++---- utils/urls.go | 11 ++++++++++- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/crawler/colly.go b/crawler/colly.go index bd6652d..98ad694 100644 --- a/crawler/colly.go +++ b/crawler/colly.go @@ -45,9 +45,13 @@ func Crawler(target string, txt string, html string, delayTime int, concurrency // This is to avoid to insert into the crawler target regular // expression directories passed as input. var targetTemp string + var protocolTemp string + // if there isn't a scheme use http. if !utils.HasScheme(target) { - targetTemp = utils.GetHost("http://" + target) + protocolTemp = "http" + targetTemp = utils.GetHost(protocolTemp + "://" + target) } else { + protocolTemp = utils.GetProtocol(target) targetTemp = utils.GetHost(target) } if intensive { @@ -205,9 +209,7 @@ func Crawler(target string, txt string, html string, delayTime int, concurrency }) // Start scraping on target - c.Visit("http://" + target) - c.Visit("https://" + target) - c.Wait() + c.Visit(protocolTemp + "://" + target) if html != "" { output.FooterHTML(html) } diff --git a/utils/urls.go b/utils/urls.go index 5b06ad8..e7f59e4 100644 --- a/utils/urls.go +++ b/utils/urls.go @@ -39,7 +39,16 @@ func GetHost(input string) string { return u.Host } -//GetHost > +//GetProtocol > +func GetProtocol(input string) string { + u, err := url.Parse(input) + if err != nil { + return "" + } + return u.Scheme +} + +//GetRootHost > func GetRootHost(input string) string { _, err := url.Parse(input) if err != nil {