2013-05-14 54 views
0

我試圖通過使用cURL來獲取目標網址。使用cURL查找目標網址

<?php 
$ch = curl_init('http://www.cnn.com'); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"); 
curl_setopt($ch, CURLOPT_REFERER, "http://www.mydomain.com/"); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$content = curl_exec($ch); 
echo $lastUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); 
curl_close($ch); 
?> 

上面的代碼產生以下輸出,它在我的本地服務器上工作正常。

輸出:本地服務器中爲「http://edition.cnn.com」,實際服務器中爲「http://www.cnn.com」。

------------------------------------------------------ 
        Server Detail 
------------------------------------------------------ 
Local     |   Actual 
         | 
PHP Version 5.3.13  |  PHP Version 5.3.20 
cURL Info 7.24.0   |  cURL Info 7.15.5 

Protocols:  
dict, file, ftp,   |  telnet, dict, 
ftps, gopher,   |  ldap, http, 
http, https,    |  file, https, ftps 
imap, imaps, ldap,  |  tftp,ftp, 
pop3, pop3s,    | 
rtsp, scp,    | 
sftp, smtp,    | 
smtps,     | 
telnet, tftp    | 
------------------------------------------------------- 

爲什麼在實際服務器中存在問題?

+0

也許網站存儲了一些個人信息或其他信息,並重定向您 – KLK1 2013-05-14 10:11:48

回答

0

爲什麼在實際服務器中存在問題?

我的猜測是CNN正在使用標頭或IP來顯示不同的內容。

嘗試使用Firefox插件HTTP實時標題來查看瀏覽器的功能,並將其複製到CURL中。