ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルを使用して MSN 友達リストを取得する

PHP_PHP チュートリアルを使用して MSN 友達リストを取得する

WBOY
WBOYオリジナル
2016-07-13 17:38:45812ブラウズ



<頭>
MSN 测试







# ファイル名: fm.php
# 目的: MSN 連絡先リストを取得する
# 著者: http://qartis.com/?qmsn はDruggoによって修正されました

$ユーザー名 = $_POST[ユーザー名];
$password = $_POST[パスワード];
$デバッグ = 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 のサービス务器また挂了 >.<
";
        死ぬ();
    } その他 {
        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.0 ");

while ($temp != " "){
    $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.1 ");
fputs($ssl_conn,"認証: Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=".urlencode($username).",pwd=$password,$TOKENSTRING ");
fputs($ssl_conn,"ユーザーエージェント: MSMSGS ");
fputs($ssl_conn,"ホスト: {$temp_array[0]} ");
fputs($ssl_conn,"接続: キープアライブ ");
fputs($ssl_conn,"キャッシュ制御: キャッシュなし ");
$temp = fgets($ssl_conn,512);

if (rtrim($temp) == "HTTP/1.1 302 が見つかりました"){
    #echo "リダイレクト";
    echo "开始重定方向
";
    フラッシュ();
    while ($temp != " "){
        $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.1 ");
    fputs($ssl_conn,"認証: Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=".urlencode($username).",pwd=$password,$TOKENSTRING ");
    fputs($ssl_conn,"ユーザーエージェント: MSMSGS ");
    fputs($ssl_conn,"ホスト: {$temp_array[2]} ");
    fputs($ssl_conn,"接続: キープアライブ ");
    fputs($ssl_conn,"キャッシュ制御: キャッシュなし ");
elseif (rtrim($temp)=="HTTP/1.1 401 権限がありません"){
    #echo "無効なcreds";
    echo "验证失败!
";
    @fclose($ssl_conn);
    死ぬ();
} その他 {
    if (rtrim($temp) != "HTTP/1.1 200 OK"){
        #echo "不明な HTTP ステータス コード: $temp
";
        echo "未知状態态码 $temp
";
        フラッシュ();
        死ぬ();
    } その他 {
        #echo "set_bar_len30?";
    }
}

while ($temp != " "){
    $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);
 &

www.bkjia.com本当http://www.bkjia.com/PHPjc/486477.html技術記事 !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns=http://www.w3.org /1999/xhtml xml:lang=zh lang=zh 頭...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。