![]() |
[PHP] MSN Messenger protocol
Edit: Ik wou in eerste instantie met COM objecten werken, maar ben overgestapt op het "rauwe" MSN protocol! Ik vraag me op het moment af waarom nexus.passport.com geen reactie terug geeft. Misschien iemand die me daarmee kan helpen?
Onderstaande tekst is niet meer geldig: Hallo, Ik wou graag eens experimenteren met MSN Messenger, gebruikmakend van PHP! :) En een methode die mij daar mij zou kunnen helpen lijkt me de COM-methode... Alleen vind ik nergens iets over het aansturen van MSN Messenger via PHP. Wel door directe socket connecties, maar niet d.m.v. COM objecten. Terwijl dit volgens mij wel mogelijk moet zijn. Ik heb op de MSDN Library gezocht naar de MSN Messenger API, maar ik vond alleen wat over de Windows Messenger API, en ik weet niet hoe ik dat zou moeten toepassen m.b.v. COM objecten. Er wordt bijv. gesproken over het "Messenger"-object, maar welk object is dat als je COM gebruikt? Ik had een site gezien: http://www.winntmag.com/Articles/Pri...rticleID=20505 Deze site bestuurd Messenger met Perl, en ook met COM-objecten. Ik kan dan wel doen $messenger = new COM("blabla") enzo, en dat geeft dan effect, en dan kan ik ook nog wel $messenger->Services->PrimaryService opvragen, maar ik kan dan bijv. niet de FriendlyName o.i.d. opvragen... Weet iemand misschien welke objecten welke methodes heeft, en hoe ik dit dan moet gebruiken in PHP?? Ik heb al veel op Google gezocht, maar krijg bijna alleen pagina's met VB en C++ code enzo... |
|
Citaat:
|
|
Citaat:
|
Citaat:
|
Citaat:
Ik ben er al even mee bezig geweest, en het is best te doen... Alleen het ophalen van de authenticatie string lukt nog niet... Ik kan wel verbinding krijgen met nexus.passport.com (poort 443). Maar ik kan die GET query wel intoetsen, maar ik krijg geen reactie van de server :s Ik werk met MSNP8 nu, en volgens een pagina van Hypothetic. Ik was nu dus bezig met: http://www.hypothetic.org/docs/msn/n...on-example.php Weet iemand misschien wat ik fout doe?? |
Citaat:
je moet (tenminste, voor zover ik nog weet) via een SSL-verbinding die string ophalen die je weer naar de server moet sturen deze actie is wss ondernomen om het intergreren van het protocol in third-party-clients te vermoeilijken ik zoek ff m'n eigen protocol op (gemaakt in IRC), hold on... EDIT: ik ondervind hetzelfde probleem atm, ik kan niet inloggen (via WinMess. ging het ook traag btw) EDIT2: Stomme sukkel dat ik ben, de pagina is ondertussen veranderd waarbij je moest identificeren, ik heb nu ingebouwd dat hij de result-pagina ophaalt, nu werkt 't weer ^_^ |
Citaat:
|
Citaat:
Ik ben weer even bezig geweest, maar ik word alsmaar doorgeleid!! Ik krijg ook een doorleiding die niet in de docs van Hypothetic staat... Ik kreeg op het laatst een header met Object Moved... Ik zal even laten zien hoe het gaat: Code:
Client: VER 1 MSNP8 CVR0 Code:
HTTP/1.1 200 OK Code:
HTTP/1.1 302 Object moved Ik stuur op zo'n manier een Host en Authorization header mee met de site in DALogin: Code:
fwrite($fp, "Host: {$parsedurl['host']}\r\n\r\n"); pp25/login2.srf En moet ik dan toch de originele challenge meesturen...of?? |
Ik denk dat ik toch maar eens even ga kijken naar het adres in Location, kijken wat voor headers dat oplevert!
Edit: Ik heb gekeken...maar ik kreeg alleen nutteloze headers en een stukje script terug voor de gebruiker, niet om automatisch in te loggen: Code:
HTTP/1.1 200 OK In de Location header hoort ook een https:// site te staan... |
EDIT!!!
Ik had een fout gemaakt met het toesturen van de Authorization header!!! Nu krijg ik wel een succesmelding. Dus daar ga ik nu even naar kijken! :) |
n3rd :p
Misschien helpt het ook naar bestaande opensource MSN implementaties te kijken, zoals de MSN module van GAIM. Als je tegen problemen aanloopt, kun je in die code zien hoe zij het hebben opgelost en kan jij het vertalen naar PHP. |
Citaat:
|
Ik heb zeg maar de basis nu wel ongeveer voor elkaar :) Ik kan berichtjes verzenden, en ontvangen. Ik heb een paar extreem stupide commandootjes in m'n bot zitten :D Zoals bijv. ' /simonsays "bericht" '. Drie maal raden wat het doet :p
Best leuk als zoiets werkt. Eerst had ik een probleempje met de resources die PHP voor mijn script nodig had...hij nam 99% CPU capaciteit!! Maar dat kwam omdat ie in een lus bleef wachten op data. Ik heb dat toen opgelost door de usleep functie te gebruiken! :) Nu werkt het prima! :) |
Alle tijden zijn GMT +1. Het is nu 21:25. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.