检查两个网址是否适用于同一网站

时间:2014-03-09 14:12:21

标签: ruby url

我正在寻找一种比较两个网址的方法。我能做到:

URI('http://www.test.com/blabla').host

有基本名称,但这不可靠。例如:

URI('http://www.test.com/blabla').host == URI('http://test.com/blabla').host

返回false,但它们可以是同一个网站。要使IP地址不可靠,因为如果我这样做:

IPSocket.getaddress(URI('http://hello.herokuapp.com').host) ==
IPSocket.getaddress(URI('http://test.herokuapp.com').host)

它返回true,但它们不是同一个站点。有更可靠的方式吗?

1 个答案:

答案 0 :(得分:2)

http://foo.com下的网站可以与http://www.foo.com下的网站相同,但由于网络服务器配置,它可能是一个完全不同的网站。它还取决于DNS配置,哪个IP指向www,哪个指向没有www。

如果你想比较两个网站,你需要获取内容,并比较关键部分(例如使用nokogiri)的相似之处。

现在由于侧边栏和新闻,对同一网址的两个后续请求,给出了不同的html响应。