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_result = explode(“{“,$arr_result[2]);
$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
}
$res = yahoo_login(“username”,”password”);
var_dump($res);
?>
it worked fine! how can i adapt it for gmail, aol, hotmail and others?
Hey what are the changes you made to make it work??
am getting an output like
array(0) { }
nopes it doesnt work for me.. even after entering $email_id and $password manully inside function it returns invalid login
can you let me know where m i going wrong
this is not working for me 😦
i get a null array…….
Hey is there any changes still remaining??
am getting an output like
array(0) { }
Its really great, its woking well for me, we need to make some changes in this code.
Instead of following line
$result = preg_replace(“([\r\n\t])”, ” “, $result);
$result = strip_tags($result);
$arr_result = explode(” “, $result);
we need to make this changes
$result = preg_replace(“([\r\n\t])”,” “,$result);
$result = strip_tags($result);
$arr_result = explode(“[“, $result);
$arr_result = explode(“{“,$arr_result[2]);
Thanks,
Thamotharan.R
Thanks Thamotharan, i have made the changes… really appreciate you
this is not working and output is array(0) { }
plz correct it again.
could you plz mail this script.
thanks
Its creating problem when we use it with cakephp.. the problem is with cookie file creation.
its returning a null array pleasee help the method of Thamotharan does not work
great…….
i need hotmail script
Thank you very much for your code sample! It works great.