Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2012, 09:12
jonatanlc
 
Fecha de Ingreso: julio-2006
Mensajes: 96
Antigüedad: 18 años, 4 meses
Puntos: 2
Problema con php y curl y twitter

Hola!

Estoy haciendo una clase para manejar twitter y tengo los siguientes codigos:

Código PHP:
public function _peticionHTTP($metodo='post',$url,$parametros,$cabecera,$return=true){
       
       
//-- Normalizo el parametro $metodo
       
$metodo=strtolower($metodo);
       
       
//-- Creo el recurso curl y lo configuro
       
$ccurl_init();
       
curl_setopt($c,CURLOPT_URL,$url);
       
       
//-- Configuro la cabecera si $cabecera es distinto de null
       
if($cabecera!==NULL){
         
curl_setopt($c,CURLOPT_HTTPHEADER,array($cabecera,'Expect: '));
       }  
        
       
curl_setopt($c,CURLOPT_SSL_VERIFYPEER,false);
       
curl_setopt($c,CURLOPT_RETURNTRANSFER,$return);  
            
       
       
//-- Configuro el metodo
       
if($metodo=='post'){
         
curl_setopt($c,CURLOPT_POST,true);
         
curl_setopt($c,CURLOPT_POSTFIELDS,$parametros);
       }else{
         
curl_setopt($c,CURLOPT_POST,false);
       }          
       
       
//-- Ejecuto la petición
       
$exe curl_exec($c);
       
       
//-- Obtengo el codigo de operación si es 200 retorno la respuesta si return = true
       
$codigo_resp=curl_getinfo($c,CURLINFO_HTTP_CODE);
       if(
$codigo_resp==200){
         if(
$return==TRUE){
            return 
$exe;
         }
       }else{
         
         echo 
$codigo_resp;
       } 
este codigo al llamarlo con sus respectivos valores me devuelve un 401 desde twitter , es decir error pero si uso este codigo:

Código PHP:
 //--  Configuro la petición post
    
$curl curl_init();

       
curl_setopt($curlCURLOPT_URL'https://api.twitter.com/oauth/access_token');
        
curl_setopt($curlCURLOPT_HTTPHEADER, array($cabeceras'Expect: '));
       
curl_setopt($curlCURLOPT_HEADERfalse);
       
curl_setopt($curlCURLOPT_RETURNTRANSFERtrue); 
      
curl_setopt($curlCURLOPT_SSL_VERIFYPEERfalse);
      
curl_setopt($curlCURLOPT_POSTtrue);
       
curl_setopt($curlCURLOPT_POSTFIELDS$parametros);

  
//-- Ejecutamos la petición
      
$respuesta curl_exec($curl); 
La llamada la función anterior (_peticionHTTP) es correcta , con los parámetros que requiere pero sin embargo me devuelve un 401 , cuando el ultimo código que publique me devuelve un 200 OK , alguien ve alguna diferencia entre ambos códigos más allá de la estructura? es decir una diferencia que pueda generar dicho error?.

Saludos