MSNP15協議的MSN報警--phpmsnclass

zhanglincon發表於2009-03-31

下載地址:http://space.itpub.net/batch.download.php?aid=13558

最近正在重新研究MSNP15協議的MSN報警-phpmsnclass,並完善一下之前用的採用MSNP9協議的MSN報警。採用了MSNP15協議框架的phpmsnclass,增加了離線訊息(OIM)的支援,修正 MSNP15 密碼使用特殊字元的編碼問題,修正了密碼長度問題,在 msnbot.php 中新增定時通知的功能,新增 addContact() 函式, 主動詢問使用者是否允許加入他的聯絡清單中等功能.
目前phpmsnclass在google code釋出的最新版本是1.9.7,原始碼版本號r30.在使用此版本傳送OIM的時候,我發現傳送的OIM過長,就會報錯:
---------------------------------------------------------------------------
*** OIM failed for XXXXXX@hotmail.com
*** OIM Error code: q0:MessageTooLarge
*** OIM Error Message: Exception of
type 'System.Web.Services.Protocols.SoapException' was thrown.
*** can't send OIM, but we already re-login again, so ignore this OIM
NS: >>> OUT
---------------------------------------------------------------------------
通過與phpmsnclass的開發者wu.tommy(一個臺灣人)溝通,確定這是MS在MSNP15協議框架的WML(Windows Live Messenger)8.5以後版本中新增加的一個限制。
// for WLM: 1664 bytes
// for YIM: 518 bytes
// for OIM: 314 bytes
因此在r32版本中針對此限制對phpmsnclass做了修改,當捕獲到這個錯誤的時候,把資訊分片,分成多條OIM傳送。基本解決了這個問題,不過挺不爽的,不知MS用意何在。
使用MSNP9協議,PHP要支援:curl pcre
使用MSNP15協議,PHP要支援以下模組:curl,pcre,mhash,mcrypt,bcmath。為了大家測試使用方便,把我的php編譯引數貼出來供大家參考。

# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --with-libxml-dir=/usr/local/libxml2 --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/local/lib/ --with-png=/usr/local/lib/ --with-freetype-dir=/usr/local/freetype/ --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets

# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (別忘記了呵呵)

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/mcrypt-2.5.12.tar.gz

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8554499/viewspace-582278/,如需轉載,請註明出處,否則將追究法律責任。

相關文章