Saturday, September 20, 2008

Importing Yahoo Contacts Using CURL and PHP

Here is the code to import yahoo address book using curl and php. This is very helpful if we want to import the contacts into our site from yahoo. Give a try and please comment on this script.

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{
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
}
$res = yahoo_login("username","password");
var_dump($res);
?>

Labels: , ,

posted by adityachandra @ 10:53 PM,


1 Comments:

At September 3, 2013 at 11:55 PM, Blogger bipin said...

it returns the empty array
What is the solution for that problem??  

Post a Comment