jul
16
2010

Obtener lista de contacto de Yahoo con PHP + Curl

Estas funciones son utilizadas en varios sitios de redes sociales, en donde tu das el acceso de tu correo e importan la lista de correos para invitar a tus amigos a que se unan a tu grupo, facebook, etc.

Aqui les dejo el código fuente en php

<? 
    function yahoo_login($email_id, $password) 
    { 
        //  Create URL 
        $url = "https://login.yahoo.com/config/login?"; 
        $query_string = ".tries=2&.src=ym&.md5=&.hash=&.js=&.last=&promo=&.intl=us&.bypass="; 
        $query_string .= "&.partner=&.u=4eo6isd23l8r3&.v=0&.challenge=gsMsEcoZP7km3N3NeI4mX"; 
        $query_string .= "kGB7zMV&.yplus=&.emailCode=&pkg=&stepid=&.ev=&hasMsgr=1&.chkP=Y&."; 
        $query_string .= "done=http%3A%2F%2Fmail.yahoo.com&login=$email_id&passwd=$password"; 
        $url_login = $url . $query_string; 
        //  End Create URL 
 
        //  Execute Curl For Login 
        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt($ch, CURLOPT_URL, $url_login); 
        curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
        curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
        curl_setopt($ch, CURLOPT_HEADER , 1); 
        ob_start(); 
        $response = curl_exec ($ch); 
        ob_end_clean(); 
        curl_close ($ch); 
        unset($ch); 
        //  End Execute Curl For Login 
 
        //  Call Address Book Page Through Curl 
        $url_addressbook = "http://address.yahoo.com/yab/us"; 
        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
        curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); 
        curl_setopt($ch, CURLOPT_HEADER , 1); 
        curl_setopt($ch, CURLOPT_URL, $url_addressbook); 
        $result = curl_exec ($ch); 
        curl_close ($ch); 
        unset($ch); 
        //  End Call Address Book Page Through Curl 
 
        //  Manuplate String 
        $result = preg_replace("([\r\n\t])", " ", $result); 
        $result = strip_tags($result); 
        $arr_result = explode(" ", $result); 
 
        $arr_filter = array(); 
        for($i=0; $i<sizeof($arr_result); $i++) 
        { 
            if(strpos($arr_result[$i], '@') > 0 && strpos($arr_result[$i], '.') > 0) 
            { 
                if(!in_array($arr_result[$i], $arr_filter, TRUE)) 
                    $arr_filter[] = $arr_result[$i]; 
            } 
        } 
        //  End Manuplate String 
 
        //  Return Result Array 
        return $arr_filter; 
        //  End Return Result Array 
    } 
?>

Que hagan ya sus pruebas para ver como funciona, espero sus comentarios.

About the Author: Miguel Angel Ortega Acosta

1 Comment + Add Comment

  • No funciona…..

Leave a comment

Patrocinador

Siguenos

Suscribete

Escribe tu correo:

Recibirás un correo con todos los articulos escritos en ZoneArtCss durante el día.

Correo @zoneartcss.com

Obtén una cuenta de @zoneartcss.com gratuita