Golang:正则判断浏览器

区分浏览器访问和接口访问,返回不同的网页内容;

以下是过滤 curl、python 等脚本访问特殊处理的示例


// 过滤 User-agent,如果 HTTP User-agent 中包含如下关键字则输出内容为~~
// (?i) 是忽略大小写
curlReg := regexp.MustCompile(`(?i)curl|python|go|java|javascript|php`)

if curlReg.MatchString(req.Header.Get("User-Agent")) {
		fmt.Printf("%s\n", ip)
	}
1
2
3
4
5
6
7
8

reference