Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/04/2012, 01:44
Avatar de zo0r
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