2013-04-06 151 views
2

我正在嘗試從未顯示真實文件名的網址獲取真實文件網址。從網址獲取真實視頻網址

我的網址是這樣http://video.premium.com/file/ee7bfec921cfbe16e6f08e282992b99670a00ca3/3

如果我能得到真正的文件的URL,我可以直接在線觀看它通過網絡播放器,但它需要的MP4或其他文件格式的播放,只是網址http://video.premium.com/file/ee7bfec921cfbe16e6f08e282992b99670a00ca3/3犯規工作。

但是當我使用VLC媒體播放器打開URL時,它可以工作。不適用於在線flash或其他播放器。

這甚至有可能嗎?無論如何要做到這一點?

+2

下載Fiddler,然後在瀏覽器中運行的網址...小提琴手將讓您檢查數據。 – highwingers 2013-04-06 04:17:41

+2

並非每個URL都需要一個文件擴展名。這可能是那個文件。 – icktoofay 2013-04-06 04:22:15

+0

@highwingers:我安裝了fiddler並試圖檢查url,fiddler也顯示了視頻信息,但不是真正的路徑,我的意思是時間路徑與文件擴展名。 – naveencgr8 2013-04-06 04:53:17

回答

0

With curl,使用這個:它遵循重定向直到找到端點。在包含的代碼中,我使用goo.gl將url縮短爲一個rando圖像。你會看到輸出是原始鏈接(並且它會輸出任意數量的重定向和它們的URL),並且最終重定向到實際文件。我認爲這是你正在尋找的。我最初並沒有寫這篇文章,而是在不久前的某個地方發現它,並在需要時再次多次重複使用它。它似乎很適合在很多地方。很高興通過它。我認爲這可能有助於實現你正在尋找的東西。

<?php 
function follow_redirect($url){ 
    $redirect_url = null; 


    if(function_exists("curl_init")){ 
     $ch = curl_init($url); 
     curl_setopt($ch, CURLOPT_HEADER, true); 
     curl_setopt($ch, CURLOPT_NOBODY, true); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $response = curl_exec($ch); 
     curl_close($ch); 
    } 
    else{ 
     $url_parts = parse_url($url); 
     $sock = fsockopen($url_parts['host'], (isset($url_parts['port']) ? (int)$url_parts['port'] : 80)); 
     $request = "HEAD " . $url_parts['path'] . (isset($url_parts['query']) ? '?'.$url_parts['query'] : '') . " HTTP/1.1\r\n"; 
     $request .= 'Host: ' . $url_parts['host'] . "\r\n"; 
     $request .= "Connection: Close\r\n\r\n"; 
     fwrite($sock, $request); 
     $response = fread($sock, 2048); 
     fclose($sock); 
    } 


    $header = "Location: "; 
    $pos = strpos($response, $header); 
    if($pos === false){ 
     return false; 
    } 
    else{ 
     $pos += strlen($header); 
     $redirect_url = substr($response, $pos, strpos($response, "\r\n", $pos)-$pos); 
     return $redirect_url; 
    } 
} 

$url = 'http://goo.gl/66VJB'; 


echo '<ol>'; 
while(($newurl = follow_redirect($url)) !== false){ 
    echo '<li>', $url, '</li>'; 
    $url = $newurl; 
} 
echo '</ol>'; 


echo '<a href="', $url, '">', $url, '</a>'; 
?> 

輸出:

  1. http://goo.gl/66VJB

http://1.bp.blogspot.com/_XE0TDW07Noo/TOSVQXZtgAI/AAAAAAAAELo/aG80jZ7u_fo/s1600/aptitude_test.gif

+1

非常感謝,這工作像魅力,但在我的情況下,它不工作,我認爲它與filehosting網站的東西..但我會盡我所能.. :) – naveencgr8 2013-04-08 02:33:05

+0

很高興幫助我可以:-)祝你好運! – Berti 2013-04-08 03:10:13