MSNP15協議的MSN報警--phpmsnclass
下載地址: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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【協議】AAA Radius協議的常用報文分析協議
- RTP協議的報文結構協議
- RTSP協議、RTMP協議、HTTP協議的區別協議HTTP
- Http協議報文詳解HTTP協議
- http協議報頭詳解HTTP協議
- 協議CAN&報文&仲裁協議
- 【網路協議】IP協議、ARP協議、RARP協議協議
- MQTT協議 -- 訊息報文格式MQQT協議
- HTTP協議-HTTP響應報文HTTP協議
- ModbusTCP協議報文詳細分析TCP協議
- 【網路協議】UDP協議協議UDP
- 報警系統QuickAlarm之報警規則解析UI
- Zookeeper的ZAB協議與Paxos協議區別協議
- Gossip協議和Grpc協議的區別Go協議RPC
- Gossip協議也叫Epidemic協議(流行病協議)Go協議IDE
- IP協議(網路層協議)協議
- HTTP協議和HTTPS協議的異同點?HTTP協議
- 網路協議之:haproxy的Proxy Protocol代理協議協議Protocol
- 協議協議
- 頁面連結跳轉--指定協議,半協議,無協議協議
- 含有計劃協議批准的計劃協議的退貨協議
- Python釘釘報警及Zabbix整合釘釘報警Python
- 【網路協議】TCP協議簡介協議TCP
- 路由協議與閘道器協議路由協議
- 協議森林17 我和你的悄悄話 (SSL/TLS協議)協議TLS
- Swift中的協議Swift協議
- 協議的埠號協議
- CML的cbus協議協議
- 淺談WebSocket協議、WS協議和WSS協議原理及關係Web協議
- 借歐美“隱私盾”協議敲響我國網路資料保護的警鐘協議
- 二進位制協議 VS 文字協議協議
- 生成樹協議與多生成樹協議協議
- 匯流排協議系列——USART協議初探協議
- 國密SSL協議與標準TLS協議的區別協議TLS
- Oracle警報系統Oracle
- zabbix釘釘報警
- 減半警報器
- Memcached 協議協議