2013-03-11 24 views
0

所以我有一個簡單的php文件,應該讀取rss提要的源並將其寫入SimpleXML對象。我的代碼適用於大多數網址。我已經與CNN和其他一些人一起測試過。然而,我實際上需要它來處理掛起的URL。我已經和託管內容的公司聊了一下,他們說沒有什麼特別的,它應該可以工作。任何人都可以拋出任何想法,爲什麼一個特定的URL將掛起? (FYI內容來自由彙編託管的博客)PHP:file_get_contents掛在特定的URL上

這裏是我的代碼:

$url = "http://www.example.com/rss?compendium_feed_count=3"; 
$xml = file_get_contents($url); 
print_r($xml); 
$xmldoc = new SimpleXMLElement($xml); 
print_r($xmldoc); 
+2

你甚至可以ping/wget你試圖打的主機/ URL嗎? – jchapa 2013-03-11 20:09:09

+0

有這麼多的因素,你必須分享rss鏈接。否則,我們會寫出所有可能性。 – xecute 2013-03-11 20:15:59

+0

嘗試使用cURL來代替,並使用一些可用的選項,例如重定向。這裏有太多的可能性來解決這個問題。 – 2013-03-11 20:23:40

回答

0

事實證明,答案是因爲我想從共享相同的域名作爲拉動博客它來自它的主機。我寫的腳本位於example.com上,博客位於example.com/blog。他們是獨立的服務器,但顯然服務器會看到腳本嘗試訪問的url,並且正在內部而不是外部查看。如果我把腳本放在不同的主機上測試,它可以正常工作。所以現在我必須弄清楚如何讓服務器推出這種請求。

編輯:所以,問題是,網絡服務器有一個反向代理設置爲'/博客'路徑指向另一臺服務器。我也必須通過代理路由請求。它是這樣做的:

$aContext = array('http'=>array('proxy'=>'tcp://client-proxy.exampleproxy.com:80','request_fulluri'=>true)); 
$url = "http://www.example.com/rss?compendium_feed_count=3"; 
$cxContext = stream_context_create($aContext); 
$xml = file_get_contents($url,FALSE,$cxContext); 
$xmldoc = new SimpleXMLElement($xml); 
相關問題