我想检查我的数据库中的网址是否到达他们应该的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。
答案 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');