golang爬虫403问题
golang爬虫403问题
如题:出现浏览器可以对该URL进行访问,可是 http.Get(url) 爬取时则返回403问题
resp, err := http.Get(url)
解决:
模拟浏览器访问:
1.获取user-agent

2.修改代码
将原先
resp, err := http.Get(url) defer resp.Body.Close()
修改为:设置 User-Agent
	client := &http.Client{}
	req, err := http.NewRequest("GET", url, nil)
	if err != nil {
		log.Fatalln(err)
	}
	req.Header.Set("User-Agent",
		"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36")
	resp, err := client.Do(req)
	if err != nil {
		log.Fatalln(err)
	}
	defer resp.Body.Close()
即可访问正常。
扩展:
User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号