Foros del Web » Programando para Internet » PHP »

Problema al obtener contenido con file_get_contents

Estas en el tema de Problema al obtener contenido con file_get_contents en el foro de PHP en Foros del Web. Hola, bueno tengo un problema y espero que puedan ayudarme, lo que intento hacer es sacar información de una pagina en este caso el "td_nick", ...
  #1 (permalink)  
Antiguo 21/04/2012, 14:14
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Problema al obtener contenido con file_get_contents

Hola, bueno tengo un problema y espero que puedan ayudarme, lo que intento hacer es sacar información de una pagina en este caso el "td_nick", pero cuando uso la "funcion file_get_contents" no carga la informacion de la cuenta.

Aquí pongo imágenes del problema:

Pagina Original



Pagina con la funcion:



Aqui esta el codigo que estoy utilizando:


Código PHP:
<?php


$url 
"http://clan.z8games.com/charstat_cf.aspx?usn=3621014";

$source file_get_contents($url);

echo 
$source;

$document = new DOMDocument;

$document->loadHTML($source);

$element $document->getElementById('td_nick'); 

echo 
"$element<br/>";

?>
Se los agradecería en el alma si pueden ayudarme, porque no carga la pagina completa con la funcion "file_get_contents". salu2
  #2 (permalink)  
Antiguo 21/04/2012, 22:11
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema al obtener contenido con file_get_contents

porfavor ayúdenme :)
  #3 (permalink)  
Antiguo 21/04/2012, 23:04
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Problema al obtener contenido con file_get_contents

Cambia la ultima Linea del echo... por echo $element->nodeValue;
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #4 (permalink)  
Antiguo 22/04/2012, 01:44
Avatar de zo0r  
Fecha de Ingreso: enero-2012
Ubicación: Miami, Florida.
Mensajes: 11
Antigüedad: 12 años, 3 meses
Puntos: 1
Respuesta: Problema al obtener contenido con file_get_contents

Buenas.

El problema consiste en que esos datos se recuperan mediante una petición Ajax en:
Código PHP:
http://clan.z8games.com/clanServices.asmx/getClanPublicInfo 
El inconveniente mayor es que la petición es POST, por lo tanto, no puedes obtenerla con file_get_contents, analizando los parámetros que se pasán, se ve claramente que no es una petición POST con parámetros normales, si no que utilizan Payload, osea con un Content-Type "application/json", y el cuerpo POST un objeto Json.

He interpretado que la petición que haces tienes la ID y he realizado éste pequeño script con cURL:
Código PHP:
<?
function getUserNameById$id )
{
    
curl_setopt_array ( ( $ch curl_init() ), array (
        
CURLOPT_RETURNTRANSFER => true,
        
CURLOPT_URL         =>     "http://clan.z8games.com/clanServices.asmx/getPlayerPublicInfo" ,
        
CURLOPT_HEADER         =>    false,
        
CURLOPT_HTTPHEADER     =>     array('Content-Type: application/json; charset=UTF-8'),
        
CURLOPT_POST        =>     false,
        
CURLOPT_POSTFIELDS     =>    '{"usn":'.$id.'}'
    
));

    
$data = ( $data curl_exec$ch ) ) !== false && ( $data json_decodecurrentjson_decode$datatrue ) ), true ) ) !== NULL $data['nick'] : false;

    
curl_close$ch );

    return 
$data;
}

/* EXAMPLE */
if ( ( $name getUserNameById(3621014) ) !== false ) {
    echo 
'El nombre es: ' $name;
} else {
    echo 
'Id inválida.';
}
?>
Utiliza la función getUserNameById( $id ) para obtener el nombre de un usuario por la ID.

Saludos.

Última edición por zo0r; 22/04/2012 a las 02:02
  #5 (permalink)  
Antiguo 22/04/2012, 12:15
 
Fecha de Ingreso: abril-2012
Mensajes: 3
Antigüedad: 12 años
Puntos: 0
Respuesta: Problema al obtener contenido con file_get_contents

amigo zo0r muchísimas gracias funciona perfecto un abrazo salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:04.