清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
# return 4 urls, with and without trailing slash, with and without www
# useful for matching urls passed as params into some function,
# "does this url exist?"... need to make sure you check permutations
def url_permutations(url)
url, params = url.split("?")
# without_trailing_slash, with www
a = url.gsub(/\/$/, "").gsub(/http(s)?:\/\/([^\/]+)/) do |match|
protocol = "http#{$1.to_s}"
domain = $2
domain = "www.#{domain}" if domain.split(".").length < 3 # www.google.com == 3, google.com == 2
"#{protocol}://#{domain}"
end
# with_trailing_slash, with www
b = "#{a}/"
# without_trailing_slash, without www
c = a.gsub(/http(s)?:\/\/www\./, "http#{$1.to_s}://")
# with_trailing_slash, without www
d = "#{c}/"
[a, b, c, d].map { |url| "#{url}?#{params}"}
end
]