Jump to content
Rila_xp

[Php]Login and send yahoo message

Recommended Posts

Posted

Salutare,am gasit pe un site bucata asta de cod si tot ma bat cu ea ca nu pot sa inteleg de ce nu vrea sa functioneze.

Ar trebui sa se logheze pe yahoo si sa imi trimita un mesaj catre un user!

Ce vreau eu,daca puteti sa ma ajutati este sa imi explicati de ce nu functioneaza scriptul si cam ce ar trebui sa ii fac,si cum trebuie sa il modific ca sa pot vedea si ce mesaje primesc!

Va multumesc!

<?php
// script name: send_message_to_yahoo_messenger.php
// web scraper: Sony AK Knowledge Center - www.sony-ak.com
// last update: July 20, 2010

// get home page of yahoo mobile
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://us.m.yahoo.com/w/bp-messenger");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)");
curl_setopt($curl, CURLOPT_COOKIEJAR, getcwd() . '/cookies_yahoo_messenger.cookie');
$curlData = curl_exec($curl);
curl_close($curl);

// debug: show the returned html
// echo $curlData; exit;

// get post url for login to yahoo
$xml = $curlData;
$xmlDoc = new DOMDocument();
@$xmlDoc->loadHTML($xml);

$urlPostLoginToYahoo = $xmlDoc->getElementsByTagName("form")->item(0)->getAttribute("action");

foreach ($xmlDoc->getElementsByTagName("input") as $input) {
if ($input->getAttribute("name") == "_done") {
$_done = $input->getAttribute("value");
}
if ($input->getAttribute("name") == "_ts") {
$_ts = $input->getAttribute("value");
}
if ($input->getAttribute("name") == "_crumb") {
$_crumb = $input->getAttribute("value");
}
}

// do login to yahoo messenger (mobile version)
$yahoo_id = "your_yahoo_id";
$yahoo_id_password = "your_yahoo_id_password";

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $urlPostLoginToYahoo);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "_authurl=auth&_done=" . $_done . "&_sig=&_src=&_ts=" . $_ts . "&_crumb=" . $_crumb . "&_pc=&_send_userhash=0&_partner_ts=&id=" . $yahoo_id . "&password=" . $yahoo_id_password . "&__submit=Sign+in");
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)");
curl_setopt($curl, CURLOPT_COOKIEFILE, getcwd() . '/cookies_yahoo_messenger.cookie');
curl_setopt($curl, CURLOPT_COOKIEJAR, getcwd() . '/cookies_yahoo_messenger.cookie');
$curlData = curl_exec($curl);
curl_close($curl);

// get home page url for sending message
$urlSendMessage = $curlData;
$urlSendMessage = substr($urlSendMessage, strpos($urlSendMessage, "<a href=\"/w/bp-messenger/sendmessage") + 9);
$urlSendMessage = substr($urlSendMessage, 0, strpos($urlSendMessage, "\""));
$urlSendMessage = str_replace("&", "&", $urlSendMessage);
$urlSendMessage = "http://us.m.yahoo.com" . $urlSendMessage;

// get home page of mobile messenger to send message
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $urlSendMessage);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)");
curl_setopt($curl, CURLOPT_COOKIEFILE, getcwd() . '/cookies_yahoo_messenger.cookie');
curl_setopt($curl, CURLOPT_COOKIEJAR, getcwd() . '/cookies_yahoo_messenger.cookie');
$curlData = curl_exec($curl);
curl_close($curl);

// debug: show the returned html
// echo $curlData; exit;

$xml = $curlData;
$xmlDoc = new DOMDocument();
@$xmlDoc->loadHTML($xml);

$urlPostSendMessage = $xmlDoc->getElementsByTagName("form")->item(0)->getAttribute("action");
$urlPostSendMessage = "http://us.m.yahoo.com" . $urlPostSendMessage;

// do send message to yahoo messenger
$yahoo_username = "targetid"; // this is Yahoo! ID target
$yahoo_message = "This is my message to you!"; // this is Yahoo! messenger message to the target

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $urlPostSendMessage);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "id=" . $yahoo_username . "&message=" . $yahoo_message . "&__submit=Send");
curl_setopt($curl, CURLOPT_ENCODING, "");
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; EmbeddedWB 14.52 from: http://www.bsalsa.com/ EmbeddedWB 14,52; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)");
curl_setopt($curl, CURLOPT_COOKIEFILE, getcwd() . '/cookies_yahoo_messenger.cookie');
curl_setopt($curl, CURLOPT_COOKIEJAR, getcwd() . '/cookies_yahoo_messenger.cookie');
$curlData = curl_exec($curl);
curl_close($curl);

echo "your message already sent to Yahoo! ID: " . $yahoo_username;
?>

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...