比较Ruby中的URL

时间:2013-11-04 21:37:33

标签: ruby url

假设我有两个网址:

http://foo.com/homepage.html

https://foo.com/homepage.html?ref=topnav&bar=1

是否有任何简单的方法(或一些简单的外部库)可用于检查两个URL是否相同排除http / https并排除任何参数?

例如,上述两个网址相同。

1 个答案:

答案 0 :(得分:3)

您可以使用URI并比较路径:

require 'uri'

uri = URI("https://foo.com/homepage.html/ref=topnav?bar=1")
#=> #<URI::HTTP:0x00000000b14880
      https://foo.com/homepage.html/ref=topnav?bar=1>

uri.path
#=> "/homepage.html"

uri.host
#=> "foo.com"

URI上还有其他方法可以用不同的方式分解URI。所以你可以根据你想要的方式编写一个比较方法。