|
Yazan
|
Konu: msn listenizdeki adresleri kontrol etmek (Okunma Sayısı 2854 defa)
|
kktcportal
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 29
|
<?php class msnlistgrab { var $mail = 'msn@adresiniz.com' ; var $password = 'sifreniz' ; var $server ='messenger.hotmail.com'; var $port = 1863; var $version = 'MSNMSGR 6.2' ; var $buffer; var $socket; var $startcom; var $error=""; var $e_mail; var $name; var $number; function msnlistgrab() { } function GetRecords(){ if ($this->msn_connect($this->server, $this->port)) { return $this->res; } else { return $this->error; } } function getData() { $this->buffer=""; while (!feof($this->socket)) { $this->buffer .= fread($this->socket,1024); if (preg_match("/\r/",$this->buffer)) { break; } } $this->checkData($this->buffer); } function getData2() {; //$container=""; $buffer=""; while (!feof($this->socket)) { if ($this->i>1) { if ($this->i==$this->total) { fclose($this->socket); $this->res; break; } } $buffer = fread($this->socket,8192); $this->check_buffer($buffer); } } function check_buffer($buffer) { if (eregi("^SYN",$buffer)) { list($junk, $junk, $junk, $this->total) = explode(" ", $buffer); // echo '<h1>Number of Records: '.$this->total.'</h1>'; } $this->grabber($buffer); } function grabber ($buffer) { $g = preg_split("/[\n]+/", $buffer); for ($n=0;$n<count($g);$n++) { if (strstr($g[$n], 'LST')) { $this->i++; //list($junk, $email) = explode(" ", $g[$n]); //$this->res[] = $email; list($LST, $mailx,$namex,$numberx) = explode(" ", $g[$n]); $this->e_mail[] = $mailx; $this->name[] = mb_convert_encoding(urldecode($namex),"ISO-8859-9", "auto"); $this->number[] = $numberx; //echo $g[$n]."<br>"; //$this->deleted[] = $veri[1][0]; } } } function checkData($buffer) { // echo $buffer; if (preg_match("/lc\=(.+?)/Ui",$buffer,$matches)) { $this->challenge = "lc=" . $matches[1]; } if (preg_match("/(XFR 3 NS )([0-9\.\:]+?) (.*) ([0-9\.\:]+?)/is",$buffer,$matches)) { $split = explode(":",$matches[2]); $this->startcom = 1; $this->msn_connect($split[0],$split[1]); } if (preg_match("/tpf\=([a-zA-Z0-9]+?)/Ui",$buffer,$matches)) { $this->nexus_connect($matches[1]); } /* $split = explode("\n",$buffer); for ($i=0;$i<count($split);$i++) { $detail = explode(" ",$split[$i]); if ($detail[0] == "LST") { //echo "<div OnMouseOver=\"style.cursor='hand';showTooltip('show','$detail[1]-$detail[3]')\" OnMouseMove=\"followTooltip('show')\" OnMouseOut=\"showTooltip('hide')\">" . urldecode($detail[2]) . "</div>"; } } */ } function msn_connect($server, $port) { if (IsSet($this->socket)) { fclose($this->socket); } $this->socket = fsockopen($server,$port); //stream_set_timeout($GLOBALS["socket"], 20000); if (!$this->socket) { return "Could not connect"; } else { $this->startcom++; $this->send_command("VER " . $this->startcom . " MSNP8 CVR0",1); $this->send_command("CVR " . $this->startcom . " 0x0409 win 4.10 i386 ". $this->version ." MSMSGS " . $this->mail,1); $this->send_command("USR " . $this->startcom . " TWN I " . $this->mail,1); } } function send_command($command) { $this->startcom++; // echo "<font color=blue> >> $command<br>"; fwrite($this->socket,$command . "\r\n"); $this->getData(); } function nexus_connect($tpf) { $arr[] = "GET /rdr/pprdr.asp HTTP/1.0\r\n\r\n"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://nexus.passport.com:443/rdr/pprdr.asp"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_VERBOSE, 0); curl_setopt($curl, CURLOPT_HEADER,1); curl_setopt($curl, CURLOPT_HTTPHEADER, $arr); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); $data = curl_exec($curl); curl_close($curl); preg_match("/DALogin=(.+?),/",$data,$matches); //$data = str_replace("\n","<br>",$data); // echo $data; //echo "<br><br>"; $split = explode("/",$matches[1]); $this->mail = urldecode($this->mail); $headers[0] = "GET /$split[1] HTTP/1.1\r\n"; $headers[1] = "Authorization: Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" . $this->mail . ",pwd=" . $this->password . ", " . trim($this->challenge) . "\r\n"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://" . $split[0] . ":443/". $split[1]); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_VERBOSE, 0); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_HEADER,1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); $data = curl_exec($curl); //$data = str_replace("\n","<br>\n",$data); // echo $data; curl_close($curl); //echo "</font>"; preg_match("/t=(.+?)'/",$data,$matches); $this->send_command("USR " . $this->startcom . " TWN S t=" . trim($matches[1]) . "",2); $this->send_command("SYN " . $this->startcom . " 0",2); $this->getData2(); } } $gm = new msnlistgrab(); $gm->GetRecords(); echo '<table border="1"><tr><td></td><td>MAİL</td><td>İSİM</td><td>DURUM</td></tr>'; $durum = array ( "2"=> "Sildi + Sildin", "3"=> "Sildi", "4"=> "Engelledin + Sildin + Sildi", "5"=> "Engelledin + Sildi", "10"=> "Sildin", "11"=> "Normal", "12"=> "Engelledin + Sildin", "13"=> "Engelledin", ); for($i=0; $i < $gm->total; $i++) { $durumx = strtr($gm->number[$i],$durum); echo "<tr><td>$i</td><td>".$gm->e_mail[$i]."</td><td>".$gm->name[$i]."</td><td>".$durumx."</td></tr>\n"; } echo '</table>';
En baştaki var $mail = 'msn@adresiniz.com' ; var $password = 'sifreniz' ;
kısmını editlediğinizde çalışacaktır.
|
|
|
|
|
Logged
|
|
|
|
kaptan
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 8
|
Fatal error: Call to undefined function curl_init() in C:\AppServ\www\msn.php on line 154 diye hata verdi 154. satir $curl = curl_init()
|
|
|
|
|
Logged
|
<?php
echo "PHP Öğreniyorum..!";
?>
|
|
|
BeyazSeytan
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 21
|
var $version = '8.1.0178' ;
=) Msnkontrol.com da simdi ayni kodu gordum.
|
|
|
|
« Son Düzenleme: 02, 2007, 03:11:10 pm Gönderen: BeyazSeytan »
|
Logged
|
|
|
|
OnurPhp
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 4
|
Selamlar, Bu sınıfın çalışabilmesi için CURL kütüphanesinin yüklenmesi gerek.
iyi calısmalar, Onur Yerlikaya
|
|
|
|
|
Logged
|
|
|
|
mudkicker
Arif Ender
Admin
Offline
Mesaj Sayısı: 873
Mastered PHP
|
Selamlar, Bu sınıfın çalışabilmesi için CURL kütüphanesinin yüklenmesi gerek.
iyi calısmalar, Onur Yerlikaya
Arkadaş haklı, aynı zamanda bu kütüphane çoğu server'da olmayabiliyor...
|
|
|
|
|
Logged
|
|
|
|
TechEngineer
Dr.UnknowError
PHP Öğrencisi
Offline
Mesaj Sayısı: 67
Başkasının izinden gidenler, iz bırakamazlar...
|
bende curl kütüphanesi yüklü sorunsuz çalışıyorda ama ortaya çıkarttığı bir şey yok.
Sanırım MsTech engellemiş dış bağlantıyı.
Hiç bir şey listelemiyor.
|
|
|
|
|
Logged
|
Gitmeyi bilirim,Gitmeye bilirim.
|
|
|
|
kazaan
|
Ben denedim curl de yuklu ama calısmıyo, ortaya bisey çıkardığı yok mail isim durum yazıyo baska bir bilgi yok
|
|
|
|
|
Logged
|
|
|
|
|
 |