2009-01-09 81 views

回答

6

其實,我發現這個效果最好:

function GetURL($URL) 
    { 
      $ch = curl_init($URL); 

      curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true); 


      curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 

      curl_exec($ch); 

      $code = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); 

      curl_close($ch); 

      return $code; 
    } 
16
$ch = curl_init('http://www.yahoo.com/'); 
curl_exec($ch); 
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
if (($code == 301) || ($code == 302)) { 
    //This was a redirect 
} 
+0

酷 - 有沒有辦法告訴它想要重定向到哪裏? – GeoffreyF67 2009-01-09 06:13:15

+0

嘗試正常的曲線...它應該指引你到你想去的地方。 – alex 2009-01-09 06:39:37

3

請記住,沒有這通常是爲這個問題給出的答案,考慮到造成返回文檔中編碼的JavaScript帳戶重定向(或我認爲HTML中有一個元刷新標記。)因此,使用這種代碼進行測試時,無論您會錯過某些「重定向」,都有可能出現這種情況。

不幸的是,唯一的解決辦法是讓網頁瀏覽器打開網頁,然後修改網頁​​瀏覽器以報告javascript和元刷新重定向。

乾杯!