在使用 base_convert() 轉換出來的值, 是一個字串, 如果直接拿來做 AND/XOR 之類的位元運算, 在 32 位元的機器上頭, 會傳回 -1. (奇怪, 在 64 位元的機器上頭就是正常的)
檔案放於: http://www.teatime.com.tw/~tommy/files/msnclass12.7z
或者抓最新的版本: http://www.teatime.com.tw/~tommy/files/msnclass.7z
噢,我真纳闷怎么发不了离线信息呢。还以为是自己的问题。:)
真->正
Tommy大大您好..
我將您的v.12的程式放到類似linkstation 的機器上面跑...(php-4.4.2)
錯誤訊息如下...我trace的結果是 get_tweener_passport_ticket這個函式裡面出錯了..
是curl的關係嗎? 煩請指教...謝謝您...
---------------------------------------
07/04/06 14:27:06 [865] NS: >>> VER 1 MSNP9 CVR0
07/04/06 14:27:06 [865] NS: > CVR 2 0x0409 winnt 5.1 i386 MSMSGS 6.0.0602 msmsgs [email protected]
07/04/06 14:27:07 [865] NS: > USR 3 TWN I [email protected]
07/04/06 14:27:07 [865] NS: > VER 4 MSNP9 CVR0
07/04/06 14:27:07 [865] NS: > CVR 5 0x0409 winnt 5.1 i386 MSMSGS 6.0.0602 msmsgs [email protected]
07/04/06 14:27:07 [865] NS: > USR 6 TWN I [email protected]
07/04/06 14:27:07 [865] NS: > OUT
07/04/06 14:27:07 [865] *** Passport authenticated fail!
07/04/06 14:27:06 [865] NS: >>> VER 1 MSNP9 CVR0
07/04/06 14:27:06 [865] NS: > CVR 2 0x0409 winnt 5.1 i386 MSMSGS 6.0.0602 msmsgs [email protected]
07/04/06 14:27:07 [865] NS: > USR 3 TWN I [email protected]
07/04/06 14:27:07 [865] NS: > VER 4 MSNP9 CVR0
07/04/06 14:27:07 [865] NS: > CVR 5 0x0409 winnt 5.1 i386 MSMSGS 6.0.0602 msmsgs [email protected]
07/04/06 14:27:07 [865] NS: > USR 6 TWN I [email protected]
07/04/06 14:27:07 [865] NS: > OUT
07/04/06 14:27:07 [865] *** Passport authenticated fail!
不好意思..有html語法...被截掉了...
我只貼最後幾行
07/04/06 14:27:07 [865] NS: --- USR 6 TWN S lc=1033,id=507,...
07/04/06 14:27:07 [865] *** Get Result:
07/04/06 14:27:07 [865] *** Can't get passport's URL!
07/04/06 14:27:07 [865] NS: --- OUT
07/04/06 14:27:07 [865] *** Passport authenticated fail!
請把你的 log 那個 Get Result: 前後的資料寄到 wu.tommy [at] gmail.com 給我看看吧.
或者直接把取出 login URL 的那一段移除. 直接把 URL 設成 https://login.live.com/login2.srf 試看看.
對了, 好像沒有 Get Result: 的內容. 如果沒有... 應該是 curl 連線不成功. 你的那台機器有 firewall 嗎? 允許 https (tcp 443) 的連線嗎? 因為登入的認證動作要連到 MS 的網站做才可以.