2012-10-24 172 views
4

我有一個用於YouTube的GDATA API的問題。youtube gdata超時

沒有在我的PHP設置或代碼進行更改,我不能通過PHP API訪問YouTube。

與以下消息的「Zend_Gdata_App_HttpException」例外創建一個新的Zend_Gdata_YouTube對象和加載視頻數據的結果:

無法連接到TCP://gdata.youtube.com:80。錯誤#110: 連接超時'在/usr/share/php/Zend/Gdata/App.php:688堆棧 跟蹤:#0 /usr/share/php/Zend/Gdata.php(221): Zend_Gdata_App - > performHttpRequest('GET','http://gdata.yo ...',Array, NULL,NULL,NULL)#1 /usr/share/php/Zend/Gdata/App.php(875): ('GET','http://gdata.yo ...',Array)#2 Zend_Gdata_App-> get('http://gdata.yo ...',NULL)#3 /usr/share/php/Zend/Gdata/App.php(220): Zend_Gdata_App-> importUrl('http:// gdata .yo ...','Zend_Gdata_YouT ...', NULL)#4 /usr/share/php/Zend/Gdata.php(187): Zend_Gdata_App-> getEntry('http://gdata.yo。 ..','Zend_Gdata_YouT ...') '#5'/usr/share/php/Zend/Gdata/YouTube.php(293): Zend_Gdata-> getEntry('http://gdata.yo ...','Zend_Gdata_YouT ...')

我知道這是暫停。但是什麼會導致超時?由於我不介意在服務器的連接設置上進行任何更改,而對gdata.youtube.com執行ping操作完全正常。

我想說的是,系統不在共享主機平臺上運行,所以沒有主機做任何他想做的事情 - 系統更改由我個人執行。

+0

你可以添加圍繞這一行代碼'/usr/share/php/Zend/Gdata/App.php:688'? – dnozay

回答

0

在YouTube API服務器端沒有任何東西會導致連接被任何客戶端完全拒絕。即使由於某種原因,您客戶的流量違反了一些配額限制或由於防DoS保護而被阻止(並且我並不意味着這種情況),但我們仍然會爲您的請求返回有效的HTTP響應。

所以,我可以放心地說,不管是什麼問題,這都不是歸功於YouTube API服務器。最有可能的罪魁禍首是您的服務器和YouTube API之間的網絡問題。標準網絡故障排除程序是按順序的。

+0

的確,這不是API的問題。經過一番調查後,我發現它已經與ipv6相關聯,我的服務器無法處理任何Google Server的ipv6。 更有趣的事情是:他只能通過ipv6-v4作品和非Google服務器和v6作品連接到Google Server –

0

我修改了我的上傳腳本中的所有谷歌鏈接,以確保安全連接。

例如,我改變

http://uploads.gdata.youtube.com/feeds/api/users/default/uploads 

https://uploads.gdata.youtube.com/feeds/api/users/default/uploads