PHP 预测另一个网站上 URL 的 redirect/change?

PHP predict a redirect/change of URL on another website?

是否可以处理来自另一个网站的重定向并能够获得另一个网站指向的新URL?

我正在尝试在另一个网站上使用 file_get_contents 并每天左右制作脚本 运行,但是,我从中获取内容的 URL 有一个哈希码其中每天都在变化。

例如:http://website.com/data/kkLs31 是我从中获取内容的页面,kkLs31 每天都会更改为完全不同的代码,但是当您访问旧的 link 时,即使它已更改,无论您在浏览器中输入什么,他们的服务器都会将您重定向到新的 "code"。

所以当他们将您重定向到新代码时,我需要处理,获取新代码并将其传递到我的服务器上,以便我始终可以从他们那里获取内容。

我不确定这是否可能,但我认为应该有一些我可以做的事情。

如果这没有意义,我很乐意详细说明。

通过使用 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);

使用 CURL
$ch =   curl_init();
        curl_setopt($ch, CURLOPT_URL, 'http://website.com/data/kkLs31');
        curl_setopt($ch, CURLOPT_HEADER, true); // your answer will be in the header
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a =    curl_exec($ch);

接下来,您可以通过以下方式获得 url:

preg_match("!\r\n(?:Location|URI): *(.*?) *\r\n!", $a, $matches);
$url = $matches[1];

使用简单的 var_dump($a) 找到您的答案

注意:
看看CURLOPT_FOLLOWLOCATION是怎么设置为false的,因为true会一直转发你。 False 不会转发您,但会为您提供它希望您转发到的 url。