久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

PHP讀取MSN上的用戶信息類

瀏覽:11日期:2024-02-17 08:03:10

一個可以獲取msn上用戶信息的代碼

<?php$msn = new myMSN('h058@test.com', '123');// MSNv9class myMSN {private $server = 'messenger.hotmail.com';private $port = 1863;private $nexus = 'https://nexus.passport.com/rdr/pprdr.asp';private $sshLogin = 'login.live.com/login2.srf'; //loginnet.passport.com/login2.srfprivate $getCode = null;private $_ip = null;private $_port = null;private $connect = null;private $trID = 1;private $maxMessage = 4096;private $userName = null;private $passWord = null;private $debug = true;function myMSN($userName='', $passWord='') {if (!empty($userName) && !empty($passWord)) {$this->userName = $userName;//$this->passWord = urlencode($passWord);$this->passWord = $passWord;$this->startTalk();}}function put($data) {if ($this->isConnect()) {fputs($this->connect, $data);$this->trID++;if ($this->debug)print('<div style='color:green;font-size:13px;'>>>>{$data}</div>');}}function get() {if ($data = @fgets($this->connect, $this->maxMessage)) {if ($this->debug)print('<div style='color:red;font-size:13px;'><<<{$data}</div>');return $data;} else {return false;}}function isConnect() {if (!is_null($this->connect))return true;elsereturn false;}function close() {@fclose($this->connect);}function startTalk() {if ($this->connect = fsockopen($this->server, $this->port, $errno, $errstr, 2))$this->verTalk();}function verTalk() // MSN 協議協商 {$this->put('VER {$this->trID} MSNP9 CVR0 rn');$data = $this->get();//echo $data;if (false !== strripos($data, 'VER'))$this->envTalk();}function envTalk() // 環境協商 {$this->put('CVR {$this->trID} 0x0409 winnt 5.0 i386 MSNMSGR 7.0.0816 MSMSGS {$this->userName} rn');$data = $this->get();//echo $data;if (false !== strripos($data, 'CVR'))$this->reqTalk();}function reqTalk() // 請求確認 {$this->put('USR {$this->trID} TWN I {$this->userName} rn');$data = $this->get(); // XFR 3 NS 207.46.107.41:1863 0 65.54.239.210:1863 XFR 3 NS 207.46.107.25:1863 U D//echo $data;if (false !== strripos($data, 'XFR')) {list(, , , $serv) = explode(' ', $data); // 分析服務器list($ip, $port) = explode(':', $serv); // 分析IP和端口$this->_ip = $ip;$this->_port = $port;$this->reLink($ip, $port);} else {//echo $data; // USR 3 TWN S ct=1205292058,rver=5.0.3270.0,wp=FS_40SEC_0_COMPACT,lc=1033,id=507,ru=http:%2F%2Fmessenger.msn.com,tw=0,kpp=1,kv=4,ver=2.1.6000.1,rn=1lgjBfIL,tpf=b0735e3a873dfb5e75054465196398e0list(, , , , $this->getCode) = explode(' ', trim($data));//echo $data;if (empty($this->sshLogin))$this->reLoginTalk(); // 重新獲取登陸服務器地址else$this->getLoginCode($this->sshLogin);}}function reLink($server, $port) // 重置連接 {$this->connect = null;$this->server = $server;$this->port = $port;$this->trID = 1;$this->startTalk();}function reLoginTalk() // 重新獲取服務器地址 {$ch = curl_init($this->nexus);curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_NOBODY, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$header = curl_exec($ch);//print_r($header);curl_close($ch);preg_match ('/DALogin=(.*?),/', $header, $out); // 捕捉服務器登陸匹配//print_r($out);if (isset($out[1])) {$this->getLoginCode($out[1]);}else {//return false;exit('無法捕捉到登陸服務器的URL');}}function getLoginCode($slogin) // 獲取登陸代碼 {//echo($this->getCode);if (!is_null($this->getCode)) {$ch = curl_init('https://' . $slogin);$loginInfo = array('Authorization: Passport1.4 rgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=' . $this->userName . ',pwd=' . $this->passWord . ',' . $this->getCode,'Host: login.passport.com');curl_setopt($ch, CURLOPT_HTTPHEADER, $loginInfo);//print_r($loginInfo);//$this->getCode = null;curl_setopt($ch, CURLOPT_HEADER, 1);curl_setopt($ch, CURLOPT_NOBODY, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$header = curl_exec($ch);//print_r($header);preg_match ('/from-PP='(.*?)'/', $header, $out);//print_r($out);if (isset($out[1])) {$this->loginAction($out[1]);} else {//return false;exit('無法捕捉到登陸代碼的信息');}} else {return false;}}function loginAction($loginCode) // 登陸工作 {$this->put('USR {$this->trID} TWN S {$loginCode} rn'); // USR |trID| SSO S |t=code|$data = $this->get();//echo $data;//print_r($data);//$this->put('SYN {$this->trID} 0 rn');//$this->put('CHG {$this->trID} NLN rn');//print_r($this->get());}}?>

標簽: PHP
主站蜘蛛池模板: 阜新市| 铁岭市| 化州市| 红原县| 浦城县| 五莲县| 安阳市| 南丰县| 桐城市| 洞头县| 苗栗市| 潼南县| 南乐县| 万源市| 方城县| 南岸区| 泰来县| 阳山县| 右玉县| 象州县| 稷山县| 东山县| 丁青县| 古交市| 临邑县| 蓝山县| 客服| 逊克县| 沂源县| 砚山县| 玉田县| 柳林县| 萝北县| 沙雅县| 手机| 甘洛县| 年辖:市辖区| 察哈| 措勤县| 京山县| 新巴尔虎左旗|