Php 如何知道两个URL是否指向同一页面

Php 如何知道两个URL是否指向同一页面,php,Php,我想写一个小脚本,知道两个URL是否指向同一个页面。例如:和将导致相同的URL。有时也会导致相同的页面,尽管它们不是相同的URL 有没有一个简单的方法 如果你需要更多信息,请告诉我,我会编辑这篇文章 注意:这不是一个家庭作业问题,所以请尽可能提供帮助 谢谢大家! 您可以使用来处理琐碎的情况。要检测重定向,您必须使用的一个部分来获取标头和检测位置标头。您可以使用来处理普通情况。要检测重定向,您必须使用的一个部分来获取标题和检测位置标题。 这可能非常棘手,因为没有“真正”的方法来检测它。您可以检测位

我想写一个小脚本,知道两个URL是否指向同一个页面。例如:和将导致相同的URL。有时也会导致相同的页面,尽管它们不是相同的URL

有没有一个简单的方法

如果你需要更多信息,请告诉我,我会编辑这篇文章

注意:这不是一个家庭作业问题,所以请尽可能提供帮助

谢谢大家!

您可以使用来处理琐碎的情况。要检测重定向,您必须使用的一个部分来获取标头和检测位置标头。

您可以使用来处理普通情况。要检测重定向,您必须使用的一个部分来获取标题和检测位置标题。

这可能非常棘手,因为没有“真正”的方法来检测它。您可以检测位置头以查看是否存在重定向,但这并不是万无一失的,因为有些人会执行内部重定向。也就是说,stackoverflow.com看起来和stackoverflow2.com一样

我能想到的唯一真正的方法是检查页面的内容:

阿卡

如果您愿意,您可以将其缩短为仅检查内容长度或其他内容,但您无法简单地从标题中分辨出来。

所以

这可能非常棘手,因为没有“真正”的方法来检测它。您可以检测位置头以查看是否存在重定向,但这并不是万无一失的,因为有些人会执行内部重定向。也就是说,stackoverflow.com看起来和stackoverflow2.com一样

我能想到的唯一真正的方法是检查页面的内容:

阿卡


如果您愿意,您可以将其缩短为仅检查内容长度或其他内容,但您无法简单地从标题进行区分。

这是一种非常肮脏的方式,但我想这正是您想要的:

if(file_get_contents('http://URL1.com') === file_get_contents('http://URL2.com')) {
    // Leading to the same page!
}

请注意,如果页面有一些小的更改,例如时间,即请求恰好在13:45:59和13:46:00之间发出,cookie或任何动态的内容,则它将不起作用。

这是一种非常肮脏的方式,但我想这正是您想要的:

if(file_get_contents('http://URL1.com') === file_get_contents('http://URL2.com')) {
    // Leading to the same page!
}

请注意,如果页面有微小的更改,例如时间,即请求恰好在13:45:59和13:46:00之间发出,cookie或任何动态的更改,则此操作将不起作用。

Ummm。。告诉我们这不是一个家庭作业问题让我相信它是。。。这整件事都是“无缘无故的防御”…如果你看了我所有的帖子,你就会明白我把家庭作业问题标记为家庭作业问题,如果不是,我会这么说:所以,不,这不是家庭作业问题,无论如何谢谢你的评论!嗯。。告诉我们这不是一个家庭作业问题让我相信它是。。。这整件事都是“无缘无故的防御”…如果你看了我所有的帖子,你就会明白我把家庭作业问题标记为家庭作业问题,如果不是,我会这么说:所以,不,这不是家庭作业问题,无论如何谢谢你的评论!我是否应该列举所有可能失败的方法?LiraNuna,我知道这不会一直奏效,但非常感谢你尝试回答这个问题。Chacha102,LiraNuna试图提供一个答案,我真的很感激。我问这个问题是因为我发现这是一个很难解决的问题,所以我想我会看看stackoverflow员工的一些想法,无论如何,感谢您对这个问题的贡献@用户我甚至没有批评里拉。。。我告诉伊格纳西奥,他不应该真的列举这可能失败的方式。我是否应该麻烦列举这可能失败的所有方式?利拉努纳,我知道这不会一直奏效,但非常感谢你尝试回答这个问题。Chacha102,LiraNuna试图提供一个答案,我真的很感激。我问这个问题是因为我发现这是一个很难解决的问题,所以我想我会看看stackoverflow员工的一些想法,无论如何,感谢您对这个问题的贡献@用户我甚至没有批评里拉。。。我告诉伊格纳西奥,他不应该真的列举失败的方式。