Part1:
اولین قدم در هر برنامه مسنجری این است که به سرور مسنجر وصل شود ولیست دوستان را بازیافت کند. یاهو مسنجر کمی با دیگر میسنجر ها متفاوت هست. یاهو مسنجر به سرور اچ تی تی پی وصل میشود و لیست دوستان را بدست می اورد.تمام گفتگو ها از طریق سرور مسنجر ( پورت 5050) صورت میگیرد. بیایید به ارتباط با سرور یاهو برای بازیافت لیست دوستان نگاهی بیاندازیم.
ما به سرور یاهو
msg.edit.yahoo.com
در پورت 80 ارتباط برقرار میکنیم.
برای بدست آوردن لیست از سرور داده های زیر را ارسال میکنیم.:
GET /config/ncclogin?.src=bl&login=ymusertest &passwd=ympasstest&n= 1 HTTP/1.0 Accept: */* Accept: text/htm
که ymusertest همان نام کاربر و ympasstest نیز کلمه پسورد میباشد.
اگر این داده ها را بخواهیم با وی بی ارسال کنیم چیزی شبیه این میشود.
strlogin = "GET /config/ncclogin?.src=bl&login=ymusertest&passwd=ympasstes t&n=1 HTTP/1.0" & vbCrLf
strlogin = strlogin & "Accept: */*" & vbCrLf
strlogin = strlogin & "Accept: text/html" & vbCrLf & vbCrLf
WnsckMn.SendData strlogin
در صورت موفق بودن ارسال داده ها ما این داده های برگشتی را از سرور دریافت میکنیم.
HTTP/1.0 200 OK
Date: Thu, 05 Jul 2001 08:57:11 GMT
Content-Type: text/html
Expires: Thu, 05 Jul 2001 08:57:11 GMT
Cache-Control: private
Pragma: no-cache
Set-Cookie:Y=v=1&n=25udo5k8tkvjb&l=l4dao_3k34/o&p=m2f17464130004&r=5s&lg=us&intl=us; expires=Thu, 15 Apr 2010 20:00:00 GMT; path=/; domain=.yahoo.com
Via: 1.0 hydcache (NetCache NetApp/5.0.1R2)
OK
BEGIN BUDDYLIST
Chat Friends:ambixxxx,ami_xxxx,d_cexxxx,deepxxxx,di xxxx,indian_guyxxxx,k_v_pxxxx,kaxxxxdaram,kavithax xxx1,malaxxxx,pujaxxxx,sudxxxx,sunxxxxma,swaxxxxad hu,vkxxxx68
END BUDDYLIST
BEGIN IGNORELIST
agxxxx,loving_xxxx,shravaxxxxula,varmxxxx1
END IGNORELIST
BEGIN IDENTITIES
venkxxxxde
END IDENTITIES
Mail=1
Login= vexxxxe
اتصال به سرور :
حالا ما باید از پروتکل مسنجر یاهو استفاده کنیم تا به مسنجر یاهو لاگ کنیم و س÷س دریافت و ارسال اطلا عات را شروع کنیم.
ما به سرور مسنجر یاهو در پورت 5050 از سرورcs.yahoo.com متصل خواهیم شد.
سخترین بخش همین بخش ارتباط با این سرور هست. برخلاف دیگر پروتکل های یاهو مانند YCHT پروتکل YMSG از یک اینکریبشنی برای ایکریپت کاربر و پسوردش برای ارسال به سرور استفاده میکند. رشته ایکریپ شده چیزی شبیه زیر میباشد:
1$_2S43d5f$1LfmOGuxGxDpSWvd6nzGb0
برای کاربران تازه کاری شبیه من درک نوع ایکریبسنی که بکار رفته بسیار مشکل . ولی پس از جستجو فراوان متوجه شدم که از ایکریبشن یونیکس ام دی 5 استفاده کرده اند.پس از مدتی جستحو فراوان یک کد پرل پیدا کردم که کد را میگرفت و ایکریبت میکرد.
حالا بیایید اتصال به سرور یاهو را شروع کنیم ما این داده را ارسال میکنیم.
YMSG C ZUªUbS`ú0À€userÀ€6& Agrave;€$1$_2S43d5f$1LfmOGuxGxYCSWvd6nzGb0&Agrav e;€1À€userÀ€
نمایش این داده در ÷ورت به صورت زیر است
.
0010: 00 7F B1 63 40 00 80 06 00 4C C0 A8 00 08 D8 88 ...c@....L......
0020: AF 90 04 E5 13 BA 21 09 4C 9F B5 59 53 05 50 18 ......!.L..YS.P.
0030: 44 5C 3D D1 00 00 59 4D 53 47 08 00 00 00 00 43 D\....YMSG.....C
0040: 00 01 5A 55 AA 55 6E 56 41 BB 30 C0 80 73 75 6E ..ZU.UnVA.0..sun
0050: 64 61 6D 61 6D 61 C0 80 36 C0 80 24 31 24 5F 32 xxxxxx..6..$1$_2
0060: 53 34 33 64 35 66 24 31 4C 55 68 40 47 75 78 47 S43d5f$1xxxOGuxG
0070: 78 59 43 53 57 76 64 36 6E 7A 47 62 30 C0 80 31 xYCSWvd6nzGb0..1
0080: C0 80 73 75 6E 60 61 63 61 78 63 C0 80 ..sunxxxxxx..
[/code]