首页 > 开发 > PHP > 正文

PHP 获取MSN好友列表的代码(2009-05-14测试通过)

2024-05-04 22:10:52
字体:
来源:转载
供稿:网友
代码如下:
<!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">
<head>
<title>MSN 测试</title>
<meta name="generator" content="Bluefish 1.0.6"/>
<meta name="keywords" content="MSN"/>
<meta name="description" content="MSN test"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<style type="text/css">
<!--
div {
font-family: arial, helvetica, sans-serif;
font-size : 13px ;
margin: 10px;
padding: 2px 10px 1px;
background-color: #C60;
color: #FFFFFF;
border-top: 1px solid #C90;
border-left: 1px solid #C90;
border-bottom: 1px solid #333;
border-right: 1px solid #333;
}
a:link {
color: #00FFBE;
}
--></style>
</head>
<body>
<div>

<?php
# filename: fm.php
# purpose: get MSN contact list
# author: http://qartis.com/?qmsn modified by Druggo

$username = $_POST['username'];
$password = $_POST['password'];
$debug = 0;
$trid = 0;
$proto = "MSNP10";

# start here
echo "通讯协议 $proto<br/>";
echo "开始登录<br/>";
# login now
$sbconn = fsockopen("messenger.hotmail.com",1863) or die("Can't connect to MSN server");
flush();
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 "Error: The MSN servers are currently unavailable.";
echo "很不幸,MSN的服务器又挂了 >.<<br/>";
die();
} else {
echo "连接失败!<br/>";
fclose($sbconn);
die();
}
}

@fclose($sbconn);
$temp_array = explode(" ",$temp);
$temp_array = explode(":",$temp_array[3]);
flush();
$sbconn = fsockopen($temp_array[0],$temp_array[1]) or die("error -_-#");
data_out("VER $trid $proto CVR0");
data_in();
flush();
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);
flush();
$TOKENSTRING = trim(end($temp_array));
#echo "authenticating";
echo "身份验证中……<br/>";
flush();

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

while ($temp != "/r/n"){
$temp = fgets($nexus_socket,1024);
if (substr($temp,0,12)=="PassportURLs"){
$urls = substr($temp,14);
}
}

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

$temp_array = explode("/",$temp);
@fclose($nexus_socket);
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表