2014-03-03 45 views
0

我一直在互聯網上尋找高低的腳本和方法,可以使用php從shoutcast流中獲取歌曲信息。儘管它們都在localhost上運行良好,但它們在上傳到webhost(順便說一下,這是000webhost.com)時都會失敗。嘗試使用多種方法從Shoutcast中檢索歌曲標題,其中沒有一個正在工作。請參閱

這些是我使用的方法:

  1. 使用fsockopen ......在這種情況下,它給出了「連接超時」的錯誤。 在互聯網上搜索時,我發現網絡主機可能阻止了出站連接。

  2. 然後我轉到了file_get_contents方法。在這裏,返回值會變成錯誤的。我已經檢查過了allow_url_fopen是通過phpinfo()函數

  3. 然後我轉移到通過下面的代碼使用curl:

    $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "http://s8.voscast.com:8562/"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2'); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 20); //curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true); $shoutcast=curl_exec($curl);

同樣,這返回false。請注意,我已經註釋掉了CURLOPT_FOLLOWLOCATION,因爲該語句給出了php在安全模式下運行時無法使用的錯誤。

沒有其他辦法嗎?無論使用什麼腳本/方法/教程/建議,我發現在他們根本不爲我工作的時候,使用這三種方法中的一種。

請注意,他們在我的電腦上運行JUST FINE,即在本地主機上運行。但只要他們上傳到虛擬主機上,它就會停止工作。

有沒有其他的方法/解決方法/方法,我們可以嘗試?我只需要獲得歌曲的標題,而不是其他任何東西。

非常感謝!

回答

0

要確定元數據,您必須以某種方式連接到SHOUTcast服務器。不幸的是,000webhost.com是一個非常糟糕的主機提供商,提供的服務水平不足以滿足您的需求。它們限制了你可以建立的連接,這可能是你遇到的問題。

解決此問題的唯一方法是使用允許您與其他服務器建立連接的主機提供商。請注意,甚至允許您建立連接的提供商有時也不允許80端口以外的連接。如果您想確保自己能夠做到您想做的事,請考慮購買Digital Ocean或類似設備的$ 5 VPS實例。

作爲所有這些的替代方案,我有一個免費的service that can send your SHOUTcast metadata to your clients via AJAX。然後,你可以使用任何你想要的主機。

相關問題