API Messenger ??

60 réponses
AuteurMessage

Zalex14 |
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 17/09/2006 à 14:24

Ca fait deux plombes que je me bats pour trouver une doc ou un script pour pouvoir lister via php les contacts d'un compte MSN (en indiquant le login & le pass). Impossible de trouver ça alors que je connais des sites qui le font..

Quelqu'un sait où je peux trouver ça ?


Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

darkham | Adrien
Membre

Photo de darkham

Inscrit le : 11/05/2005

# Le 17/09/2006 à 14:50

Voici un code que j'ai pu trouver sur un site US et que j'utilise il marche bien, par contre il ne fonctionne que avec hotmail.com les autres non donc si vous trouvez une solution ce serait pas mal de la donner ;)

merci d'avance



$startcomm = 0;

$login = "".$login."";
$username = "".$pseudo_msn."";
$password = "".$pass_msn."";

function getData() {
$socket = $GLOBALS["socket"];
while (!feof($socket)) {
$buffer .= fread($socket,1024);
if (preg_match("/\r/",$buffer)) {
break;
}
}
checkData($buffer);
}

function getData2() {
$socket = $GLOBALS["socket"];
while (!feof($socket)) {
$buffer .= fread($socket,1024);
if (preg_match("/\r\n\r\n/",$buffer)) {
break;
}
}
checkData($buffer);
}


function checkData($buffer) {
if (preg_match("/lc\=(.+?)/Ui",$buffer,$matches)) {
$GLOBALS["challenge"] = "lc=" . $matches[1];
}
if (preg_match("/(XFR 3 NS )([0-9\.\:]+?) (.*) ([0-9\.\:]+?)/is",$buffer,$matches)) {
$split = explode(":",$matches[2]);
$GLOBALS["startcomm"] = 1;
msn_connect($split[0],$split[1]);
}
if (preg_match("/tpf\=([a-zA-Z0-9]+?)/Ui",$buffer,$matches)) {
nexus_connect($matches[1]);
}
$split = explode("\n",$buffer);
for ($i=0;$i<count($split);$i++) {
$detail = explode(" ",$split[$i]);
if ($detail[0] == "LST") {
echo "<font color=green size=1 face=verdana><input type=checkbox name=mail[] value=".urldecode($detail[1])." checked>".urldecode($detail[1])."</font><br />";
}
}
}

function msn_connect($server,$port) {
if (IsSet($GLOBALS["socket"])) {
fclose($GLOBALS["socket"]);
}
$GLOBALS["socket"] = fsockopen($server,$port);
if (!$GLOBALS["socket"]) {
return "Could not connect";
} else {
$GLOBALS["startcomm"]++;
send_command("VER " . $GLOBALS["startcomm"] . " MSNP8 CVR0",1);
send_command("CVR " . $GLOBALS["startcomm"] . " 0x0409 win 4.10 i386 MSNMSGR 6.2 MSMSGS " . $GLOBALS["username"] . "@hotmail.com",1);
send_command("USR " . $GLOBALS["startcomm"] . " TWN I " . $GLOBALS["username"] . "@hotmail.com",1);
}
}

function send_command($command) {
$GLOBALS["startcomm"]++;
$socket = $GLOBALS["socket"];
fwrite($socket,$command . "\r\n");
getData();
}


function nexus_connect($tpf) {
$arr[] = "GET /rdr/pprdr.asp HTTP/1.0\r\n\r\n";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://nexus.passport.com:443/rdr/pprdr.asp");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_VERBOSE, 0);
curl_setopt($curl, CURLOPT_HEADER,1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $arr);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
$data = curl_exec($curl);
curl_close($curl);
preg_match("/DALogin=(.+?),/",$data,$matches);
$split = explode("/",$matches[1]);
$headers[0] = "GET /$split[1] HTTP/1.1\r\n";
$headers[1] = "Authorization: Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" . $GLOBALS["username"] . "%40hotmail.com,pwd=" . $GLOBALS["password"] . ", " . trim($GLOBALS["challenge"]) . "\r\n";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://" . $split[0] . ":443/". $split[1]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_VERBOSE, 0);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_HEADER,1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
$data = curl_exec($curl);
curl_close($curl);
preg_match("/t=(.+?)'/",$data,$matches);
send_command("USR " . $GLOBALS["startcomm"] . " TWN S t=" . trim($matches[1]) . "",2);
send_command("CHG " . $GLOBALS["startcomm"] . " HDN",2);
send_command("SYN " . $GLOBALS["startcomm"] . " 0",2);
getData2();
send_command("SYN " . $GLOBALS["startcomm"] . " 1 46 2",2);
getData2();
send_command("CHG ". $GLOBALS["startcomm"] . " BSY");
getData();

Widoox : http://www.widoox.frOuvrir dans une nouvelle fenetre

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 17/09/2006 à 14:52

Thanx !
Je vais tester ça de suite !


Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

darkham | Adrien
Membre

Photo de darkham

Inscrit le : 11/05/2005

# Le 17/09/2006 à 14:53

ok ;)

Widoox : http://www.widoox.frOuvrir dans une nouvelle fenetre

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 17/09/2006 à 15:38

Je confirme, ca marche nickel
le script original se trouve là pour ceux que ca interesse :
http://www.planet-source-code.com/vb/scripts/ShowC...Ouvrir dans une nouvelle fenetre


Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

darkham | Adrien
Membre

Photo de darkham

Inscrit le : 11/05/2005

# Le 17/09/2006 à 16:16

Effectivement je me rappelais plus ou je l'avais trouvé ;)

tu arrives à la faire marcher avec le hotmail.fr ?

Widoox : http://www.widoox.frOuvrir dans une nouvelle fenetre

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 17/09/2006 à 17:15

nan... ni hotmail.fr ni msn.com ..
Mais ca existe puisque je connais un site qui le fait pour
hotmail.com, msn.com, hotmail.de, hotmail.fr, hotmail.co.uk et hotmail.it

Si tu cherches l'équivalent les contacts Gmail, j'ai pas testé mais a priori c'est de ce coté là qu'il faut chercher : http://gmail-lite.sourceforge.net/wordpress/index....Ouvrir dans une nouvelle fenetre

Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

darkham | Adrien
Membre

Photo de darkham

Inscrit le : 11/05/2005

# Le 17/09/2006 à 19:28

Ouai j'avais pas pensé à gmail je vais regarder ca ;)

Widoox : http://www.widoox.frOuvrir dans une nouvelle fenetre

softdomaine | Alexandre
Membre

 

Inscrit le : 13/08/2006

# Le 18/09/2006 à 20:51

Ce script ne liste que les contacts ? ne permet aucune autre action ?

darkham | Adrien
Membre

Photo de darkham

Inscrit le : 11/05/2005

# Le 18/09/2006 à 22:55

non aucune autre action enfin à ma connaissance ;)

Widoox : http://www.widoox.frOuvrir dans une nouvelle fenetre

Charts in France | Olivier
Modérateur

 

Inscrit le : 09/05/2005

# Le 18/09/2006 à 23:50

Je pense que qq'un de chez Beyoung pourra vous aider aussi car j'ai vu qu'ils avaient utilisé ce type de code sur Lexode...

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 19/09/2006 à 10:32

Moi j'aimerai dev un bot simple pour msn, je ne sais pas si il existe deja des choses.

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 19/09/2006 à 11:10

pour ceux qui désirent approfondir la question :
http://www.hypothetic.org/docs/msn/index.phpOuvrir dans une nouvelle fenetre

A priori il y aurait plusieurs serveurs pour l'authentification, à sélectionner selon le domaine.
Ex dans le code de cette source : http://www.cppfrance.com/code.aspx?ID=31681Ouvrir dans une nouvelle fenetre

switch(m_msn)
{
case 0 : strcat(adresse,"@hotmail.com");break;
case 1 : strcat(adresse,"@msn.com");break;
case 2 : strcat(adresse,"@hotmail.fr");break;
}
switch(m_msn)
{
case 0 : strcpy(login,"loginnet.passport.com");break;
case 1 : strcpy(login,"msnialogin.passport.com");break;
case 2 : strcpy(login,"login.passport.com");break;
}

Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

deblok | Jonathan
Modérateur

Photo de deblok

Inscrit le : 09/05/2005

# Le 19/09/2006 à 11:30

www.bot20.com kru

John VIDOR
Président JVWEB
Liens SponsorisésOuvrir dans une nouvelle fenetre - Référencement NaturelOuvrir dans une nouvelle fenetre - ErgonomieOuvrir dans une nouvelle fenetre

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 19/09/2006 à 11:43

Trouvé : http://www.fanatic.net.nz/2005/10/03/msnpauth-auth...Ouvrir dans une nouvelle fenetre

avec un exemple d'application : http://www.vbulletin.com/forum/showthread.php?t=15...Ouvrir dans une nouvelle fenetre



Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 19/09/2006 à 14:22

Zalex14 a dit :
A priori il y aurait plusieurs serveurs pour l'authentification, à sélectionner selon le domaine.


Et dans le cas d'un domaine perso, il n'y a aucune possibilité ?

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 19/09/2006 à 15:43

si si ca marche

Je viens de tester avec des passport caramail et ifrance, tout fonctionne. En fait on applique ceci :

switch (substr($passport, $i))
{
case "@hotmail.com":
$authURL = "ssl://loginnet.passport.com";
break;

case "@msn.com":
$authURL = "ssl://msnialogin.passport.com";
break;

default:
$authURL = "ssl://login.passport.com";
break;
}

Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

devtribu | Olivier
Modérateur

Photo de devtribu

Inscrit le : 16/06/2005

# Le 19/09/2006 à 16:13

C'est cool, mais concretement quelle utilsation tu vas en faire ?

Février 2019, mon futur livre Tout JavaScript chez Dunod https://amzn.to/2PoLd0fOuvrir dans une nouvelle fenetre

Charts in France | Olivier
Modérateur

 

Inscrit le : 09/05/2005

# Le 19/09/2006 à 16:16

devtribu a dit :
C'est cool, mais concretement quelle utilsation tu vas en faire ?


Je pense que ça peut servir à :
- 1 l'internaute transfert tous ces contacts
- 2 il les invite par le biais d'un mail automatique à venir visiter le site et à le parrainer

Zalex14 | Alexandre
Modérateur

Photo de Zalex14

Inscrit le : 09/05/2005

# Le 19/09/2006 à 17:21

Charts in France a dit :
devtribu a dit :
C'est cool, mais concretement quelle utilsation tu vas en faire ?


Je pense que ça peut servir à :
- 1 l'internaute transfert tous ces contacts
- 2 il les invite par le biais d'un mail automatique à venir visiter le site et à le parrainer


C'est exactement cela.
- inviter simplement ses contacts msn à le rejoindre sur le site
- trouver rapidement les fiches des membres dont les mails sont dans ses contacts msn
et tout ce qu'on peut faire avec la notion de mail dans une communauté.

Mieux vaut s'attendre au prévisible que d'être surpris par l'inattendu.

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 9:25:05 | Généré en 11.45ms | Contacts | Mentions légales |