2016-11-08 2 views
2

Ein Golang Web Scraper muss Informationen von einer Webseite extrahieren, die NTLM-authentifiziert ist.Golang Web Scraper NTLM Authentifizierung

Mit einem gültigen Benutzernamen & Passwort, wie kann der Web-Scraper den NTLM 4-Wege-Handshake mit dem Server durchführen, um Zugriff auf die geschützte Webseite zu erhalten?

url, username, password := "http://www.some-website.com", "admin", "12345" 

client := &http.Client{} 
req, _ := http.NewRequest("GET", url, nil) 
req.Header.Set("Authorization", "NTLM") 
res, _ := client.Do(req) 

Antwort

3

Sie können ein Paket wie Azure/go-ntlmssp verwenden zu authentifizieren, bevor Sie kratzen beginnen.

url, username, password := "http://www.some-website.com", "admin", "12345" 

client := &http.Client{ 
    Transport: ntlmssp.Negotiator{ 
     RoundTripper:&http.Transport{}, 
    }, 
} 

req, _ := http.NewRequest("GET", url, nil) 
req.SetBasicAuth(username, password) 

res, _ := client.Do(req) 
+0

Vielen Dank, Sir! –