Golang网络抓取工具需要从经过NTLM身份验证的网页中提取信息。
拥有有效的用户名&密码,web scraper如何与服务器进行NTLM 4次握手,以便访问受保护的网页?
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)
答案 0 :(得分:3)
在开始抓取之前,您可以使用Azure/go-ntlmssp
这样的包进行身份验证。
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)