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
2
3
4
5
6
7
8
reference
- [1] pylist. 从UserAgent识别搜索引擎并判断真假蜘蛛open in new window
- [2] studygolang.com Golang中的正则表达式open in new window
- [3] c.biancheng.net. Go语言正则表达式:regexp包open in new window