近日有研究4399的积分小游戏的分数提交规则, 但不能太高调的对做类似外挂的东西...

写以下代码..仅供分析研究

  1 <?php  2 function emMsg($v) {  3     echo($v);  4 }  5   6 include_once 'mysql.php';  7   8 class getList {  9  10     private $db; 11  12     function __construct() { 13         $this->db = MySql::getInstance(); 14     } 15  16     function getPkList($tid = null) { 17         $res = $this->db->query('SELECT * FROM gamelist' . (empty($tid) ? '' : ' where gameTid=\'' . $tid . '\'')); 18         $list = array(); 19         if (!$this->db->num_rows($res)) 20             $list = $this->initList_4399(); 21         else 22             while ($row = $this->db->fetch_array($res)) { 23                 $list[] = $row; 24             } 25         return $list; 26     } 27  28     /* 29      * 初始化积分游戏 30 */ 31  32     function initList_4399() { 33         $this->db->query('delete from gamelist'); 34  35         $echo_arr = array(); 36  37         for ($j = 1; $j < 12; $j++) { 38             $file_contents = iconv('gb2312', 'utf-8//ignore', file_get_contents('http://pk.4399.com/flash/' . $j . '_1.htm')); 39             $out = array(); 40             //<a href="http://pk.4399.com/user/377.htm" target="_blank"><img title="野人钓鱼" alt="野人钓鱼" border="0" src="http://swfpk.4399pk.com:8080/4399pkbak/bak/pkimg/index_img/377.jpg" width="75" height="75"></a> 41             if (preg_match_all('/<li><a href="http:\/\/pk\.4399\.com\/user\/(\d+)\.htm" target="\_blank"><img.*?title="(.*?)".*?src="(.*?)".*?><\/a><p>.*?<\/p><\/li>/', $file_contents, $out)) { 42                 //return $out; 43                 if (count($out) == 4) { 44                     for ($i = 0; $i < count($out[1]); $i++) { 45                         $sql = "insert into gamelist (gameId,gameName,gameImg,gameTid) values('{$out[1][$i]}','{$out[2][$i]}','{$out[3][$i]}','{$j}')"; 46                         $this->db->query($sql); 47                         array_push($echo_arr, array($out[1][$i], $out[2][$i], $out[3][$i])); 48                     } 49                 } 50             } 51             sleep(2); 52         } 53         return $echo_arr; 54     } 55  56     /* 57      * 得到积分 58      * $id 游戏ID 59      * $total 个数 60      * $model 模式 current 当前 all 总排行 month 月排行 last 上轮 61 */ 62  63     function getSocre_4399($id, $model = 'all', $total = 3) { 64         $curl = curl_init(); 65         curl_setopt($curl, CURLOPT_URL, 'http://my.4399.com/flashgame.php?ac=score_' . $model . '&gameid=' . $id); 66         curl_setopt($curl, CURLOPT_COOKIE, 'Pauth=403370469|66847612|7082ed77f7c271b74d84de349009452a|1328319929|10002|bbeae2e37479547b7c0d5da25d8eb004|0;'); 67         //                                        403370469|66847612|c389c838712319dc773eef783f972fef|1328331099|10001|60bfe9367afff7e737d00b2f998dd7f8|0 68         //                                        403370469|66847612|580ea10bd8ccf57035a31c7d2abef941|1328333572|10002|ef2b08825599a1fc7ef0ef399b630ca4|0 69         //                                        403370469|66847612|0773296261e645a773fc245d039db2a6|1328333608|10002|83a5f67767d051e8f31d26df70445663|0 70         //curl_setopt($curl, CURLOPT_REFERER, 'http://www.360buy.com/'); 71         //curl_setopt($curl,CURLOPT_HTTPHEADER,array('Referer:http://www.360buy.com/')); 72         curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 73         $file_contents = curl_exec($curl); 74         curl_close($curl); 75         //$file_contents = iconv('gb2312', 'utf-8//ignore', $file_contents); 76         /* <td><a href="flashgame.php?ac=profile&uid=212607398">1051414225</a></td> 77           <td>151478</td> 78          * <td align="center"><a href="flashgame.php?ac=profile&uid=103301144">wawa6346</a></td><td align="center">172895</td> 79          *  */ 80         //echo $file_contents; 81         $out = array(); 82         if (preg_match_all('/<td.*?><a href="flashgame.php\?ac\=profile&uid=.*?">.*?<\/a><\/td>.*?<td.*?>(\d+)<\/td>/s', $file_contents, $out)) { 83             $ret_array = array_slice($out[1], 0, $total); 84             $sql = 'update gamelist set gameScore=\'' . json_encode($ret_array) . "' where gameId='{$id}'"; 85             $this->db->query($sql); 86             return $ret_array; 87         } 88         return array(); 89         //echo $file_contents; 90     } 91  92     function setSocre_4399($id, $m = null, $arr = null) { 93         if (empty($arr)) { 94             $arr = $this->db->once_fetch_array('SELECT gameScore FROM gamelist where gameId=\'' . $id . '\''); 95             $arr = json_decode($arr['gameScore'], true); 96         } 97         if (empty($arr)) 98             return 'error'; 99 100         //平均分 冠军分 亚军分 季军分101         if (empty($m)) {102             $score = floor(array_sum($arr) / count($arr));103         } else {104             $score = $arr[$m - 1];105         }106 107         //toKen108         $token = substr(file_get_contents('http://my.4399.com/flashgame/flashgame_reload_token.php'), 7);109         $miyao = 'ok123';110         $orderId = date("YmdHis") . rand(100000, 999999);111         $link = 'xn';112         //_root.result + "xn" + _root.orderId + _root.miyao + "xn" + _level0.gameId + "xn" + _root.token113         //http://my.4399.com/flashgame.php?ac=score_submit&token=73880937914d7521321497fbf27a189beea76f&Mac=257be7e4641d73e9a94c968f986e7516&orderId=20120204234108456451&result=10&gameId=346114         $md5_token = md5($score . $link . $orderId . $link . $miyao . $link . $id . $link . $token);115         $url = "http://my.4399.com/flashgame.php?ac=score_submit&token={$token}&Mac={$md5_token}&orderId={$orderId}&result={$score}&gameId={$id}";116         $curl = curl_init();117         curl_setopt($curl, CURLOPT_URL, $url);118         curl_setopt($curl, CURLOPT_COOKIE, 'Pauth=403370469|66847612|7082ed77f7c271b74d84de349009452a|1328319929|10002|bbeae2e37479547b7c0d5da25d8eb004|0;');119         curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);120         //curl_setopt($curl, CURLOPT_POST, TRUE);121         //curl_setopt($curl, CURLOPT_POSTFIELDS, "source=" . Vendor_Sina::appid . "&target_id={$target_id}");122         $file_contents = curl_exec($curl);123         curl_close($curl);124         $out = array();125         if (preg_match('/<div class="score_number"><h3>.*?<\/h3><p>(\d+)<\/p><\/div>/', $file_contents, $out)) {126             if (is_numeric($out[1]))127                 return $out[1];128         }129         return 'null';130     }131 132 }

转载于:https://www.cnblogs.com/wc1217/archive/2012/03/09/2387721.html

4399积分小游戏_分数提交规则相关推荐

  1. 4399积分小游戏刷分工具帮助

    2019独角兽企业重金招聘Python工程师标准>>> 应广大网友的要求,及我们在网络上未找到任何4399小游戏刷分相关工具,所以IT娱乐网的工程师经过数周研究终于研究出4399小游 ...

  2. 4399小游戏童年的乐趣,python爬取4399全站小游戏

    大家好,我是辣条. 前言 2021年已到尾巴尖尖了. 今天照镜子,看着镜子中的自己,发现还是跟年轻时一样的"帅",看到头部的时候又发现相比半个月之前的发际线,它好像又往上移了一点点 ...

  3. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  4. Python贪吃蛇小游戏_完整源码免费分享

    文章目录 Python 贪吃蛇小游戏 1. 导包 2. 配置初始化参数 3. 主函数及运行主体 4. 画食物的函数 5. 画贪吃蛇的函数 6. 画网格的函数(非必选,觉得多余的可以忽略此项) 7. 操 ...

  5. 自动玩一局4399钢琴小游戏

    自动玩一局4399钢琴小游戏 1.思路 a.准备一个自动操作的机器人 b.自动操纵鼠标点击游戏开始 ​ b1.鼠标定位到开始按钮那一行(截图软件截到对应坐标) ​ b2.循环点击该行,保证开始按钮被鼠 ...

  6. 《动手学ROS2》3.4小游戏_小乌龟求偶大作战

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 3.4 小游戏:小乌龟求偶大作 ...

  7. c++代码小游戏_用Python编写一个打乒乓球小游戏

    Python功能十分强大,从科学计算到人工智 能,当然Python还可以编写游戏代码喔,虽然不是主流,但是是否应该了解一下呢?茶余饭后,编写一个很有趣的小游戏,编程半小时,能玩一整天,不断的调整游戏参 ...

  8. 火焰纹章java小游戏_火焰纹章攻略

    第一章 主角去"压制"就左边的城堡过关了.以后每一章基本都是必须要由主角去压制城堡或王座才能过关. 第二章 攻略: 一开始敌方就有一个盗贼将右下方的村子破坏了,由于剧情如此,救那个 ...

  9. 切西瓜小游戏评测玩法规则

    提到"切西瓜小游戏"这种玩法,大家一定不会陌生,作为之前IOS长期霸榜的神作,几乎每个玩家都体验过,但是在H5领域却鲜有此类游戏出现,玩家也几乎快遗忘了这种游戏类型,但是这种玩法真 ...

最新文章

  1. 图书管理系统python代码课程设计报告_数据结构图书管理系统课程设计报告
  2. Mysql-innoDB存储引擎(事务,锁,MVCC)
  3. profile matlab,使用profile功能对Matlab性能调优
  4. 【APIO2016】Fireworks【闵可夫斯基和】【凸包向量和】【可并堆】
  5. 三角形已知边长求高公式_五年级数学:“长方形、正方形、三角形、平行四边形、梯形” 知识重点、难点全解析,附习题!...
  6. 【Matplotlib】【Python】如何使用matplotlib绘制绘制随机生成的点--随机漫步详解
  7. eclipse让实现类也添加上接口的注释_您的Spring框架注释指南,请注意查收
  8. 藏的太深!原来支付宝还有另一个“集福”活动
  9. mysql select大全_Mysql select 大全
  10. golang-go mod版本等相关内容:
  11. 为什么双重检查锁模式需要 volatile ?
  12. 214. Shortest Palindrome
  13. pyqt5 tablewidget 设置行高_Python+PyQt5基础开发(10)
  14. Halcon教程八:简单的语法介绍
  15. Snipaste 截图工具
  16. Dijkstra算法
  17. python 操作excel笔记
  18. 7-2 Binomial Queue
  19. golang中GDK和UTF8编码转换
  20. linux 查看u盘痕迹记录,Linux使用记录

热门文章

  1. pom.xml中的artifactId是什么意思?
  2. 第1章-什么是深度学习(笔记)
  3. TensorFlow(二)
  4. 【机器学习】LR的分布式(并行化)实现
  5. python开发自动化创建一个任务下发到手机_如何利用Fabric自动化你的任务
  6. 精益质量管理中执行防错管理的八大要点
  7. 系统分析与设计结对项目———Wordcount
  8. MariaDB 加密特性及使用方法
  9. android邮件发送几种方式
  10. 基于Ameoba实现mysql读写分离