获取MSN(HOTMAIL)邮箱好友同步更新版2011-8
本帖最后由 hudie631489527 于 2011-08-25 09:01:51 编辑 去年做的MSN(HOTMAIL), gmail, yahoo三个模拟登录,现在MSN已经失效了
在CSDN论坛关注的朋友比较多,工作上也需要这个,所以再次拿起HTTP分析工具一窥究竟
这次分析发现,MSN让人哭笑不得,他们在最后一步登录时,对COOKIE有检测,检测COOKIE是在正常不过的
只是他这次检测多余的COOKIE,如果有多余的COOKIE就直接将俺请出,无奈之下,只能在最后一步按他们的要求来筛选他们需要的COOKIE
好了,上代码了(基本上跟上次是差不多的,只是中间多了一个COOKIE的筛选)
我的博客:www.onlypo.com
<br><?php <br />define( "COOKIEJAR", tempnam( ini_get( "upload_tmp_dir" ), "cookie" ) ); //定义COOKIES存放的路径,要有操作的权限<br>define( "TIMEOUT", 1000 ); //超时设定<br>error_reporting(E_ALL);<br>class MSN<br>{<br><br> function getAddressList($username, $password)<br> { <br> //第一步:模拟抓取登入页面的数据,并记下cookies<br> $cookies = array();<br> $ch = curl_init();<br> curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);<br> curl_setopt($ch, CURLOPT_URL, "http://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=".time()."&rver=6.1.6206.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=2052&id=64855&mkt=zh-cn&cbcxt=mail&snsc=1");<br> curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIEJAR);<br> curl_setopt($ch, CURLOPT_TIMEOUT, TIMEOUT);<br> curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br> $str = curl_exec($ch); <br> curl_close($ch);<br><br> //数据文件 模拟JS生成的cookie<br> $CkTst = 'G'.time() * 1000;<br> $wlidperf = "throughput=3&latency=948&FR=L&ST=".(time() * 1000 + 1254);<br> $fp = fopen(COOKIEJAR, "a+");<br> $str_new = "login.live.com\tTRUE\t/\tFALSE\t0\tCkTst\t$CkTst\r\n";<br> $str_new .= "login.live.com\tTRUE\t/\tFALSE\t0\twlidperf\t$wlidperf\r\n";<br> fwrite($fp,$str_new);<br> fclose($fp);<br> <br> //参数的分析<br> $matches = array(); <div class="clear">
</div>
Copier après la connexion