基于公共后缀列表的 Ruby 基础域名解析器。
PublicSuffix 是一个基于 公共后缀列表 的 Ruby 域名解析器。## 链接 - 主页 - 仓库 - API 文档 - 介绍用于 Ruby 的公共后缀列表库## 要求 PublicSuffix 需要 Ruby >= 3.2。对于旧版本的 Ruby,请使用之前的版本。## 安装 你可以手动安装这个 gem: ```shellgem install public_suffix
或者使用 Bundler 并将其定义为依赖项在你的 `Gemfile` 中:ruby
gem 'public_suffix'
## 使用 从名称中提取域名:ruby
PublicSuffix.domain("google.com")
PublicSuffix.domain("www.google.com")
PublicSuffix.domain("www.google.co.uk")
解析不含子域名的域名:ruby
domain = PublicSuffix.parse("google.com")
domain.tld
domain.sld
domain.trd
domain.domain
domain.subdomain
解析含有子域名的域名:ruby
domain = PublicSuffix.parse("www.google.com")
domain.tld
domain.sld
domain.trd
domain.domain
domain.subdomain
```ruby
PublicSuffix.valid?("google.com")
# => true
PublicSuffix.valid?("www.google.com")
# => true
# Explicitly forbidden, it is listed as a private domain
PublicSuffix.valid?("blogspot.com")
# => false
# Unknown/not-listed TLD domains are valid by default
PublicSuffix.valid?("example.tldnotlisted")
# => true严格验证 (不应用默认的 * 规则):
PublicSuffix.valid?("example.tldnotlisted", default_rule: nil)
# => false此库自动识别完全限定域名。FQDN 是以一个后缀点结尾的域名。
# 解析标准域名
PublicSuffix.domain("www.google.com")
# => "google.com"暂无开放 Issues,或尚未同步最近议题。