Jus*_*zer 38 ruby dns url parsing ruby-on-rails
我希望能够解析任何带有ruby的url来获取域的主要部分而不是www(只是XXXX.com)
Sim*_*tti 76
请注意,没有算法方法可以找到可以为特定顶级域注册域的最高级别(策略因每个注册表而异),唯一的方法是创建所有顶级域的列表和域名可以注册的级别.
这就是公共后缀列表存在的原因.
我是PublicSuffix的作者,这是一个将域分解为不同部分的Ruby库.
这是一个例子
require 'uri/http'
uri = URI.parse("http://toolbar.google.com")
domain = PublicSuffix.parse(uri.host)
# => "toolbar.google.com"
domain.domain
# => "google.com"
uri = URI.parse("http://www.google.co.uk")
domain = PublicSuffix.parse(uri.host)
# => "www.google.co.uk"
domain.domain
# => "google.co.uk"
Run Code Online (Sandbox Code Playgroud)
Mis*_*cha 62
这应该适用于几乎任何URL:
# URL always gets parsed twice
def get_host_without_www(url)
url = "http://#{url}" if URI.parse(url).scheme.nil?
host = URI.parse(url).host.downcase
host.start_with?('www.') ? host[4..-1] : host
end
Run Code Online (Sandbox Code Playgroud)
要么:
# Only parses twice if url doesn't start with a scheme
def get_host_without_www(url)
uri = URI.parse(url)
uri = URI.parse("http://#{url}") if uri.scheme.nil?
host = uri.host.downcase
host.start_with?('www.') ? host[4..-1] : host
end
Run Code Online (Sandbox Code Playgroud)
你可能不得不这样做require 'uri'.
| 归档时间: |
|
| 查看次数: |
37880 次 |
| 最近记录: |