1

我注意到一些 facebook 页面重定向。例如,NOFX 乐队页面(http://www.facebook.com/pages/NOFX/104336479603261只允许两个链接,因此一个未设置为链接)重定向到他们的官方页面(https://www.facebook. com/pages/NOFX-Official-Page/180985116576?rf=104336479603261)。我很好奇是否在 api 中我们可以告诉页面这样做。 https://graph.facebook.com/104336479603261似乎没有显示任何有关重定向的信息,但也许还有另一种方法可以找到它。

编辑:不使用 api 的解决方案很好。

Edit2:如果有人感兴趣,这里解决的是我使用的代码:

代码大部分是从我如何确定一个 URL 是否在 PHP 中重定向?.

function getURL($URL)
{
        $ch = curl_init($URL);
        curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3'); 
        curl_exec($ch);
        $code = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

        curl_close($ch);
        return $code;
}

唯一真正值得注意的是我必须添加用户代理,这样我就不会被发送到不受支持的浏览器页面。

4

1 回答 1

0

编辑:不使用 api 的解决方案很好。

然后只需对页面 URL 发出 HTTP HEAD 请求,并查看是否获得301 Moved Permanently带有标头的状态代码作为Location响应。(实际上只检查状态码就足够了,如果你只想知道页面是否被重定向;如果你还想知道它被重定向到哪里,那么还要检查位置标题。)

于 2012-08-28T09:02:16.047 回答