我正在构建一个Drupal网站,作为其中的一部分,我需要使用Aggregator和Media模块从Facebook,Twitter和YouTube获取内容。但是我无法获取内容,因为这两个模块都调用drupal_http_request函数,该函数使用PHP stream_socket_client函数,该函数尝试打开与远程套接字的连接。
例如,当我尝试抓取YouTube内容时,尝试打开与YouTube的连接时会使用tcp://gdata.youtube.com:80
。当我在大学计算机上构建网站时,这将返回FALSE,但是当我在家用机器上时它工作正常。
为什么它不起作用的任何想法?看起来很奇怪,显然大学电脑可以访问互联网。
顺便说一句,IRC对我来说也不起作用......
答案 0 :(得分:0)
stream_socket_client
有errno
和errstr
参数,应该可以为您提供有关其失败原因的更多信息。
如果我不得不猜测问题是什么,你的大学可能有一个严格的防火墙,拒绝访问大多数端口,例如IRC。可能它有一个必须由所有学生使用的HTTP代理。可以使用流上下文为流套接字设置HTTP代理。