Hola a todos!
Tenía tiempo que no posteaba algo en este foro
Bueno, voy al grano: resulta que estoy trabajando con los API's de YouTube para obtener los videos de X usuario y los comentarios de X video. Todo esto ya lo tengo y funciona PERFECTAMENTE localmente; el problema está cuando lo subo a mi hosting y cuando contacté al proveedor, me informa que lo que tenga que ver con "fopen" está bloqueado por seguridad
, he probado en otros hostings (el de mi trabajo y el de un amigo) y funciona PERFECTAMENTE
He insistido y nada que me lo habilitan, he probado usando .htaccess y nada tampoco (mi hosting soporta htaccess).
Les dejo el ejemplo de como obtener el feed (xml) del usuario "google" en YouTube:
Código PHP:
function read_url( $url, $proxy = null, $port = null) {
$content = '';
if (empty($proxy) ) {
// Open URL directly
$fp = fopen ($url, 'r');
if (!$fp) {
return false;
}
while(!feof($fp)) {
$content = $content . fread($fp,4096);
}
fclose($fp);
} else {
// Open proxy
$fp = fsockopen($proxy, $port);
if (!$fp) {
return false;
}
// Invoke URL via proxy
fputs($fp, "GET $url HTTP/1.0\r\nHost: $proxy\r\n\r\n");
while(!feof($fp)) {
$content = $content . fread($fp,4096);
}
fclose($fp);
// Strip headers
$content = substr($content, strpos($content,"\r\n\r\n")+4);
}
return $content;
}
echo(read_url('http://gdata.youtube.com/feeds/users/google/uploads'));
Esta función fue la ultima que encontré que hace lo que quiero ya que tiene algo peculiar que no he podido entender bien aún. Esta función "simula" a un fopen (según la fuente de donde la saqué) pero utilizando "proxy". Si alguien pudiese ayudarme en:
- Cómo hacer para que los feeds de youtube funcionen en mi hosting teniendo en cuenta que todo lo parecido a fopen está deshabilitado??
- Cómo hago para poder probar esta función utilizando "proxy" y su "puerto"??
Si tienen alguna idea para solucionar esto, se los agradeceré ETERNAMENTE!!, ah, se me olvidaba, donaré el código fuente de esto para aquel que le interese interactuar con los videos de YouTube, claro está, si logramos desifrar este misterio... espero sea suficiente
Bueno, espero sus comentarios, sugerencias y aportes para esto!
Saludos
pd. el resultado que devuelve esta función lo trabajo con una clase para manejar XML (todo esto funciona perfectamente, el problema es lo de arriba mencionado).