github.com/chainreactors/fingers@v1.2.1/wappalyzer/examples/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  	"log"
     7  	"net/http"
     8  
     9  	"github.com/chainreactors/fingers/resources"
    10  	"github.com/chainreactors/fingers/wappalyzer"
    11  )
    12  
    13  func main() {
    14  	resp, err := http.DefaultClient.Get("https://www.hackerone.com")
    15  	if err != nil {
    16  		log.Fatal(err)
    17  	}
    18  	data, _ := io.ReadAll(resp.Body) // Ignoring error for example
    19  
    20  	wappalyzerClient, err := wappalyzer.NewWappalyzeEngine(resources.WappalyzerData)
    21  	if err != nil {
    22  		log.Fatal(err)
    23  	}
    24  	fingerprints := wappalyzerClient.Fingerprint(resp.Header, data)
    25  	fmt.Printf("%v\n", fingerprints)
    26  	// Output: map[Acquia Cloud Platform:{} Amazon EC2:{} Apache:{} Cloudflare:{} Drupal:{} PHP:{} Percona:{} React:{} Varnish:{}]
    27  
    28  	fingerprintsWithCats := wappalyzerClient.FingerprintWithCats(resp.Header, data)
    29  	fmt.Printf("%v\n", fingerprintsWithCats)
    30  }