php好友列表,PHP获取MSN好友列表

$username = $_POST[username];

$password = $_POST[password];

$debug = 0;

$trid = 0;

$proto = "MSNP10";

# start here

echo "通讯协议 $proto

";

echo "开始登录

";

# login now

$sbconn = fsockopen("messenger.hotmail.com",1863) or die("Cant 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的服务器又挂了 >.<

";

die();

} else {

echo "连接失败!

";

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 "身份验证中……

";

flush();

$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)=="PassportURLs"){

$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,"Authorization: Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=".urlencode($username).",pwd=$password,$TOKENSTRING

");

fputs($ssl_conn,"User-Agent: MSMSGS

");

fputs($ssl_conn,"Host: {$temp_array[0]}

");

fputs($ssl_conn,"Connection: Keep-Alive

");

fputs($ssl_conn,"Cache-Control: no-cache

");

$temp = fgets($ssl_conn,512);

if (rtrim($temp) == "HTTP/1.1 302 Found"){

#echo "redirection";

echo "开始重定向

";

flush();

while ($temp != "

"){

$temp = fgets($ssl_conn,256);

if (substr($temp,0,9)=="Location:"){

$temp_array = explode(":",$temp);

$temp_array = explode("/",trim(end($temp_array)));

break;

}

}

@fclose($ssl_conn);

$ssl_conn = fsockopen("ssl://".$temp_array[2],443);

fputs($ssl_conn,"GET /{$temp_array[3]} HTTP/1.1

");

fputs($ssl_conn,"Authorization: Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=".urlencode($username).",pwd=$password,$TOKENSTRING

");

fputs($ssl_conn,"User-Agent: MSMSGS

");

fputs($ssl_conn,"Host: {$temp_array[2]}

");

fputs($ssl_conn,"Connection: Keep-Alive

");

fputs($ssl_conn,"Cache-Control: no-cache

");

} elseif (rtrim($temp)=="HTTP/1.1 401 Unauthorized"){

#echo "invalidcreds";

echo "验证失败!

";

@fclose($ssl_conn);

die();

} else {

if (rtrim($temp) != "HTTP/1.1 200 OK"){

#echo "Unknown HTTP status code: $temp

";

echo "未知状态码 $temp

";

flush();

die();

} else {

#echo "set_bar_len30?";

}

}

while ($temp != "

"){

$temp = fgets($ssl_conn,1024);

if (substr($temp,0,19)=="Authentication-Info"){

$auth_info = $temp;

$temp = fgets($ssl_conn,1024);

if (substr($temp,0,14)!="Content-Length"){

$auth_info.= fgets($ssl_conn,1024);

&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值