检查facebook URL是否重定向?

时间:2012-02-24 20:25:13

标签: facebook url redirect

我想检查我的数据库中的网址是否到达他们应该的Facebook页面或重定向到“www.facebook.com”。

这是我使用的代码:

<?php
$conn = mysql_connect('localhost', 'user', 'pass');
mysql_select_db('database');
?>

<?php
$query = "SELECT data_txt FROM jos_sobi2_fields_data WHERE fieldid=8 ";

$result = mysql_query($query);

$row = mysql_fetch_array($result);
$url = $row['data_txt'];

$ch = curl_init();

curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

foreach($row as $url) {
    curl_setopt($ch, CURLOPT_URL, $url);
    $out = curl_exec($ch);

$out = str_replace("\r", "", $out);

$headers_end = strpos($out, "\n\n");
if( $headers_end !== false ) { 
    $out = substr($out, 0, $headers_end);
}   

$headers = explode("\n", $out);
foreach($headers as $header) {
    if( substr($header, 0, 10) == "Location: " ) { 
        $target = substr($header, 10);

        echo "[$url] redirects to [$target]<br>";
        continue 2;
    }   
}   

echo "[$url] does not redirect<br>";
}
?>

结果如下:

[http://www.facebook.com/shanibakshi.grooming.dogtraining]重定向到[http://www.facebook.com/common/browser.php]

[http://www.facebook.com/shanibakshi.grooming.dogtraining]重定向到[http://www.facebook.com/common/browser.php]

和此网址 - &gt; http://www.facebook.com/common/browser.php是一个Facebook页面,上面写着我的浏览器已经老了...可能是因为代码中有一些功能......

无论如何,我想做的就是检查我的数据库中的url是否保留在任何重定向的位置。

谢谢:)

RONEN。

1 个答案:

答案 0 :(得分:0)

您是说要检测重定向,但问题是您总是被重定向到browser.php,所以除了“误报”之外什么都没有?在这种情况下,您可能只需要设置USERAGENT选项,例如:

curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.2; rv:9.0.1) Gecko/20100101 Firefox/9.0.1');