2014-02-20 96 views

回答

2

下面的代碼應該爲你工作,它採用了CURLOPT_HEADERFUNCTION捲曲選項:

$locations = array(); 

$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($curl, CURLOPT_HEADERFUNCTION, function($curl, &$header) use(&$locations) { 
    $key = 'Location:'; 
    if (strpos($header, $key) === 0) { 
     $locations[] = trim(substr($header, strlen($key))); 
    } 
    return strlen($header); 
}); 
// ... 
curl_exec($curl); 

$locations將包含捲曲經重定向到的URL。

0

您應該可以使用CURLOPT_HEADER選項並檢查返回的標題。不幸的是,這將需要解析出位置標題,因爲我不知道從返回的內容中獲取特定標題值的更直接方式。

您可能會非常適合關閉跟隨重定向的選項,並手動跟蹤cURL請求以遵循重定向,並沿途記錄重定向信息。