MSN 友達リストを取得するための PHP コード (2009 年 5 月 14 日にテスト)

WBOY
リリース: 2016-06-13 12:22:17
オリジナル
900 人が閲覧しました

コードをコピー コードは次のとおりです:





MSN 测试









# ファイル名: fm.php
# 目的: MSN 連絡先リストの取得
# 著者: http://qartis.com/?qmsn 修正者: Druggo

$username = $_POST['username'];
$パスワード = $_POST['パスワード'];
$debug = 0;
$trid = 0;
$proto = "MSNP10";

# ここから開始
echo "通讯协议 $proto
";
echo "开始登录
";
# 今すぐログインします
$sbconn = fsockopen("messenger.hotmail.com",1863) または die("MSN サーバーに接続できません");
フラッシュ();
data_out("VER $trid $proto CVR0");
data_in();
data_out("CVR $trid 0x0409 winnt 5.1 i386 MSNMSGR 8.0.0812 MSMSGS $username");
data_in();
data_out("USR $trid TWN I $username");

$temp = data_in();

if (!stristr($temp,":")){
if (substr($temp,0,3)==601){
#echo "エラー: MSN サーバー現在利用できません。";
echo "很不幸,MSN のサービス务器また挂了 >.";
死ぬ();
} else {
echo "连接失败!
";
fclose($sbconn);
死ぬ();
}
}

@fclose($sbconn);
$temp_array =explode(" ",$temp);
$temp_array =explode(":",$temp_array[3]);
フラッシュ();
$sbconn = fsockopen($temp_array[0],$temp_array[1]) または die("error -_-#");
data_out("VER $trid $proto CVR0");
data_in();
フラッシュ();
data_out("CVR $trid 0x0409 winnt 5.1 i386 MSNMSGR 8.0.0812 MSMSGS $username");
data_in();
data_out("USR $trid TWN I $username");
$temp = data_in();
$temp_array =explode(" ",$temp);
フラッシュ();
$TOKENSTRING = トリム(end($temp_array));
#echo "認証中";
echo "身份验证中……
";
フラッシュ();

$nexus_socket = fsockopen("ssl://nexus.passport.com",443);
fputs($nexus_socket,"GET /rdr/pprdr.asp HTTP/1.0rnrn");

while ($temp != "rn"){
$temp = fgets($nexus_socket,1024);
if (substr($temp,0,12)=="パスポートURL"){
$urls = substr($temp,14);
}
}

$temp_array =explode(",",$urls);
$temp = $temp_array[1];
$temp = substr($temp,8);

$temp_array =explode("/",$temp);
@fclose($nexus_socket);

$ssl_conn = fsockopen("ssl://".$temp_array[0],443);
fputs($ssl_conn,"GET /{$temp_array[1]} HTTP/1.1rn");
fputs($ssl_conn,"認証: Passport1.4 OrgVerb=GET,OrgURL=http://messenger.msn.com,sign-in=".urlencode($username).",pwd=$password,$トークンストリングrn");
fputs($ssl_conn,"ユーザーエージェント: MSMSGSrn");
fputs($ssl_conn,"ホスト: {$temp_array[0]}rn");
fputs($ssl_conn,"接続: 維持");
fputs($ssl_conn,"キャッシュ制御: no-cachernrn");
$temp = fgets($ssl_conn,512);

if (rtrim($temp) == "HTTP/1.1 302 Found"){
#echo "リダイレクト";
echo "开始重定方向
";
フラッシュ();
while ($temp != "rn"){
$temp = fgets($ssl_conn,256);
if (substr($temp,0,9)=="場所:"){
$temp_array =explode(":",$temp);
$temp_array =explode("/",trim(end($temp_array)));
休憩;
}
}
@fclose($ssl_conn);
$ssl_conn = fsockopen("ssl://".$temp_array[2],443);
fputs($ssl_conn,"GET /{$temp_array[3]} HTTP/1.1rn");
fputs($ssl_conn,"認証: Passport1.4 OrgVerb=GET,OrgURL=http://messenger.msn.com,sign-in=".urlencode($username).",pwd=$password,$トークンストリングrn");
fputs($ssl_conn,"ユーザーエージェント: MSMSGSrn");
fputs($ssl_conn,"ホスト: {$temp_array[2]}rn");
fputs($ssl_conn,"接続: 維持");
fputs($ssl_conn,"キャッシュ制御: no-cachernrn");
} elseif (rtrim($temp)=="HTTP/1.1 401 Unauthorized"){
#echo "invalidcreds";
エコー「验证失败!
";
@fclose($ssl_conn);
die();
} else {
if (rtrim($temp) != "HTTP/1.1 200 OK" ){
#echo "不明な HTTP ステータス コード: $temp
";
flush()
die() ;
} else {
#echo "set_bar_len30?"
}
}

while ($temp != "rn"){
$temp = fgets( $ssl_conn,1024);
if (substr($temp,0,19)=="認証情報"){
$auth_info = $temp
$temp = fgets($ssl_conn,1024) );
if (substr($temp,0,14)!="コンテンツの長さ"){
$auth_info.= fgets($ssl_conn,1024);
break; 🎜>}
}
@fclose($ssl_conn);

$temp_array =explose("'",$auth_info);

data_out ("USR $trid TWN S {$temp_array[1]}");
flush()

flush(); $time_since_initmsg = time();
while(!strstr($temp,"ABCHMigrated") && is_string(trim($temp))){
if (substr($temp,0,3)== sid"){
$sid = トリム(substr($temp,5));
}
if (substr($temp,0,2)=="kv"){
$ kv = トリム(substr($temp,4));
}
if (substr($temp,0,7)=="MSPAuth"){
$mspauth = トリム(substr($temp) ,9));
フラッシュ();
}
$temp = data_in();
}
$temp = data_in();
#echo "認証済み
";
echo "验证通过!
";
フラッシュ();

#data_out("LST 9 RL");
#data_in();

data_out("SYN $trid 0 0");
#echo "連絡先リストの取得
";
echo "正在获取好友列表……

";
フラッシュ();
stream_set_timeout($sbconn,0,125000);

/* 怠け者がこれをやっている :D */
for($i=0;$i{
$temp = データ入力();
switch (substr($temp, 0, 3))
{
case "LST":
$temp_array =explode(" ",$temp);
$un = substr($temp_array[1], 2);
$nn = substr($temp_array[2], 2);
$nn1 = substr($temp_array[2], 0, 1);
if($nn1 == "F")
{
echo "$nn
";
}
else
{
echo "曾经的好友: $un
";
}
#echo $temp."
";
休憩;
デフォルト:
# いいえ、何もありません
ブレーク;
}
}
echo "列表结束";
@fclose($sbconn);

# ここで終了

# 関数

function data_out($data){
global $sbconn,$debug,$trid;
fputs($sbconn,$data."rn");
$trid ;
if ($debug && !empty($data)){ echo "> ".$data."
rn";}
}

function data_in(){
グローバル $sbconn,$debug;
$temp = fgets($sbconn,256);
if ($debug && !empty($temp)){echo "< ".$temp."
rn";}
return $temp;
}
?>






には必要な友人がいます。以下を参照してください。ほぼ数秒かかります。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート