我正在解析几个urls,需要从主机提取子域。最简单的方法是使用"url.Parse()“获取主机,然后将主机拆分为”on“。如果有三个部分,那么子域就是第一部分。这将适用于美国的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)
太棒了!
发布于 2014-10-22 22:30:13
使用PublicSuffix
suffix, _ := publicsuffix.PublicSuffix(host)
sub := host[:len(host) - len(suffix) - 1]
https://stackoverflow.com/questions/26517636
复制相似问题