我正在解析一些 url,需要从主机中提取子域。最简单的方法是使用“url.Parse()”获取主机,然后在“.”上拆分主机。如果有 3 个部分,则子域是第一部分。这将适用于美国 TLD,但是否有更好的方法来提取适用于所有 TLD 的子域?例如:url = "www.google.com" // "www"url2 = "google.com" // ""url3 = "www.google.co.uk" // "www.google"url4 = "google.co.uk" // "google"parts, err := url.Parse(url)
1 回答
缥缈止盈
TA贡献2041条经验 获得超4个赞
使用公共后缀:
suffix, _ := publicsuffix.PublicSuffix(host)
sub := host[:len(host) - len(suffix) - 1]
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消