用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

PHP模拟QQ登录,发送和接收信息的例子

时间:2015-01-23  来源:西部数据  作者:西部数据

下面我们一起来看一个PHP模拟QQ登录,发送和接收信息的例子,希望此例子对各位同学会有所帮助.

PHP实例代码如下:

  1. <?php 
  2. header(‘Content-type: text/html; charset=utf-8′); 
  3. $sid = qqLogin(‘发送信息的QQ’,'发送信息的QQ密码’);   //登录帐号 
  4. sendMsg($sid,’接收信息的QQ’,'聊天内容’);            //发送消息 
  5.  
  6. $data = getMsg($sid,’接收信息的QQ’);               //获取和某个帐号的聊天记录 
  7.  
  8. if(!emptyempty($data)){ 
  9. foreach($data as $v){ 
  10. echo $v['title'].’<br />’; 
  11. echo $v['msg'].’<br />’; 
  12. echo ‘————————<br />’; 
  13.  
  14. function qqLogin($qq_num,$qq_pwd){                //登录帐号 
  15. $data = httpGet(‘http://pt.3g.qq.com/’); 
  16. $action = preg_match(“/action=”(.+)?”/”, $data$matches); 
  17. $action = $matches[1]; 
  18. $params = array(); 
  19. $params["login_url"] = ‘http://pt.3g.qq.com/s?aid=nLogin’; 
  20. $params["sidtype"] = 1; 
  21. $params["loginTitle"] = ‘手机腾讯网’; 
  22. $params["bid"] = 0; 
  23. $params["qq"] = $qq_num
  24. $params["pwd"] = $qq_pwd
  25. $params["loginType"] =1; 
  26. $data = httpPost($action$params,1); 
  27. $action = preg_match(“/sid=(.+?)&/”, $data$matches); 
  28. $sid = $matches[1]; 
  29. if($sid){ 
  30. return $sid
  31. }else { 
  32. echo ‘登录失败’; 
  33.  
  34. function sendMsg($sid,$to_num,$msg){            //发送消息 
  35. $params = array(); 
  36. $params["msg"] = $msg
  37. $params["u"] = $to_num
  38. $params["saveURL"] = 0; 
  39. $params["do"] = “send”; 
  40. $params["on"] = 1; 
  41. $params["aid"] = “发送”; 
  42. $url = “http://q16.3g.qq.com/g/s?sid=” . $sid; 
  43. $data = httpPost($url$params); 
  44. if(preg_match(‘/消息发送成功/’,$data)) echo ‘发送成功<br />’; 
  45. else  echo ‘发送失败’;
  46.  
  47. function getMsg($sid,$qq_num) {                    //获取消息 
  48. $url = “http://q16.3g.qq.com/g/s?sid=” . $sid . “&u=” . $qq_num . “&saveURL=0&aid=nqqChat”; 
  49. $data = httpGet($url); 
  50. preg_match_all(‘/<div class=”main-module bm-gray”>s+<p class=”(?:ft-s-gray|ft-s ft-cl2)”>(.+?)</p>s+<p>(.+?)</p></div>/s’,str_replace(“rn”,”",$data),$m); 
  51. foreach($m[1] as $k=>$v){ 
  52. $tmp['title']=$v
  53. $tmp['msg']=$m[2][$k]; 
  54. $r[]=$tmp
  55. return $r
  56.  
  57. function httpGet($url,$header=0){                //GET请求 
  58. $opt = array
  59. CURLOPT_URL => $url
  60. CURLOPT_HEADER => $header
  61. CURLOPT_RETURNTRANSFER => 1, 
  62. CURLOPT_TIMEOUT => 60, 
  63. CURLOPT_USERAGENT=>’Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13′ 
  64. ); 
  65. return curlRun($opt); 
  66.  
  67. function httpPost($url,$data,$header=0){         //POST请求 
  68. $opt = array
  69. CURLOPT_URL => $url
  70. CURLOPT_HEADER => $header
  71. CURLOPT_RETURNTRANSFER => 1, 
  72. CURLOPT_TIMEOUT => 60, 
  73. CURLOPT_POSTFIELDS => http_build_query($data), 
  74. CURLOPT_USERAGENT=>’Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13′ 
  75. ); 
  76. return curlRun($opt); 
  77.  
  78. function curlRun($opt){ 
  79. $ch = curl_init(); 
  80. curl_setopt_array($ch,$opt); 
  81. $r = curl_exec($ch); 
  82. curl_close($ch); 
  83. return $r
  84.  
  85. ?> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
    无相关信息
栏目更新
栏目热门