2012-10-24 175 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