4399积分小游戏_分数提交规则
近日有研究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积分小游戏_分数提交规则相关推荐
- 4399积分小游戏刷分工具帮助
2019独角兽企业重金招聘Python工程师标准>>> 应广大网友的要求,及我们在网络上未找到任何4399小游戏刷分相关工具,所以IT娱乐网的工程师经过数周研究终于研究出4399小游 ...
- 4399小游戏童年的乐趣,python爬取4399全站小游戏
大家好,我是辣条. 前言 2021年已到尾巴尖尖了. 今天照镜子,看着镜子中的自己,发现还是跟年轻时一样的"帅",看到头部的时候又发现相比半个月之前的发际线,它好像又往上移了一点点 ...
- 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...
- Python贪吃蛇小游戏_完整源码免费分享
文章目录 Python 贪吃蛇小游戏 1. 导包 2. 配置初始化参数 3. 主函数及运行主体 4. 画食物的函数 5. 画贪吃蛇的函数 6. 画网格的函数(非必选,觉得多余的可以忽略此项) 7. 操 ...
- 自动玩一局4399钢琴小游戏
自动玩一局4399钢琴小游戏 1.思路 a.准备一个自动操作的机器人 b.自动操纵鼠标点击游戏开始 b1.鼠标定位到开始按钮那一行(截图软件截到对应坐标) b2.循环点击该行,保证开始按钮被鼠 ...
- 《动手学ROS2》3.4小游戏_小乌龟求偶大作战
本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 3.4 小游戏:小乌龟求偶大作 ...
- c++代码小游戏_用Python编写一个打乒乓球小游戏
Python功能十分强大,从科学计算到人工智 能,当然Python还可以编写游戏代码喔,虽然不是主流,但是是否应该了解一下呢?茶余饭后,编写一个很有趣的小游戏,编程半小时,能玩一整天,不断的调整游戏参 ...
- 火焰纹章java小游戏_火焰纹章攻略
第一章 主角去"压制"就左边的城堡过关了.以后每一章基本都是必须要由主角去压制城堡或王座才能过关. 第二章 攻略: 一开始敌方就有一个盗贼将右下方的村子破坏了,由于剧情如此,救那个 ...
- 切西瓜小游戏评测玩法规则
提到"切西瓜小游戏"这种玩法,大家一定不会陌生,作为之前IOS长期霸榜的神作,几乎每个玩家都体验过,但是在H5领域却鲜有此类游戏出现,玩家也几乎快遗忘了这种游戏类型,但是这种玩法真 ...
最新文章
- 图书管理系统python代码课程设计报告_数据结构图书管理系统课程设计报告
- Mysql-innoDB存储引擎(事务,锁,MVCC)
- profile matlab,使用profile功能对Matlab性能调优
- 【APIO2016】Fireworks【闵可夫斯基和】【凸包向量和】【可并堆】
- 三角形已知边长求高公式_五年级数学:“长方形、正方形、三角形、平行四边形、梯形” 知识重点、难点全解析,附习题!...
- 【Matplotlib】【Python】如何使用matplotlib绘制绘制随机生成的点--随机漫步详解
- eclipse让实现类也添加上接口的注释_您的Spring框架注释指南,请注意查收
- 藏的太深!原来支付宝还有另一个“集福”活动
- mysql select大全_Mysql select 大全
- golang-go mod版本等相关内容:
- 为什么双重检查锁模式需要 volatile ?
- 214. Shortest Palindrome
- pyqt5 tablewidget 设置行高_Python+PyQt5基础开发(10)
- Halcon教程八:简单的语法介绍
- Snipaste 截图工具
- Dijkstra算法
- python 操作excel笔记
- 7-2 Binomial Queue
- golang中GDK和UTF8编码转换
- linux 查看u盘痕迹记录,Linux使用记录