【问题标题】:Tell if Facebook page redirects判断 Facebook 页面是否重定向
【发布时间】:2012-08-28 17:06:46
【问题描述】:

我注意到一些 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的解决方案也可以。

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

代码大部分是从How can I determine if a URL redirects in 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;
}

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

【问题讨论】:

  • 这似乎没有通过 API 或 FQL 公开。

标签: facebook facebook-graph-api redirect facebook-page


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-01-31
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多