例如,8年前腾讯出版的QQ农场、QQ农场基于http协议,所以只需通过工具软件截取http数据包,就可以进一步分析提交和接收的数据的含义,模拟flash客户端。
为了实现以上目标,下载安装截获tcp/ip数据包的工具软件ethereal ,安装好以后,登陆QQ进 入农场 ,然后开启 ethereal 软件开始截获数据包,然后在农场里点刷新好友列表按钮,然后去ethereal里看看截获到的数据包,
发现读取好友列表的url地址 是:
需要的参数有:login_time 、skey、uin 三个
知道这个地址以后,可以用apache httpclient模拟一个flash client,具体代码如下:
按照这种方法,可以找到获取某个好友农场信息的url 地址是:
;act=run&ownerId =
偷某个好友某块或多块地的url地址是:
;act=scrounge
ok, 这些都搞定了,另外偷菜的 url地址需要提交一个参数farmKey ,这个生成方法有点难度,具体方法为:
另外需 要分析一下服务器返回的数据包格式,目前看到的都是 json格式,
比如得到好友列表的数据 为:
如果是用Java开发的话可以用json-lib包来解析。 想要更多的企业求职加分项目,案例,可以来一下我的Java群626984221,每天都会精挑细选一个特效,项目出来详细讲解,分享!包括答疑解惑!)
另外根据返回的错误提示语 整理如下:
如果返回{"code":0,"direction":"这块地没东西可摘 的!","farmlandIndex":2,"fkey":"8297832f9f305bd1ad2d083c35148d815069b5c61da3382c0119b74f65b8e42e6d597313b9101acb","poptype":1}
应 该是这块地已经成熟,且被人摘光了(成熟的地都有一个产量,剩余数,最小的剩余数《通过这个可以得到最多可以被偷几个》)。
如果返回的是{"code":0,"direction":"获取农田信息失 败","fkey":"e3c2806e13df1092281157971b0f9466dcfbe7433a368f4d2398b0721398add7afc8c76f889555d5","poptype":0}
那么应该是这块地还没成熟就去偷了;或者已经被主人收割了;或者这块地什么都没种;
如果返回的是: {"code":0,"direction":"做人不能贪得无 厌!","farmlandIndex":1,"fkey":"2848bb16cb28e1929822cb716b0e87292864ea9068ebe95b5d6d51580fb4b13718e3c2787af58294","poptype":1}, {"code":0,"direction":"做人不能贪得无厌!","farmlandIndex":2,"poptype":1}
那说明 你已经偷过了还要去偷;
在这里,只求大家关注下,就是我最大的动力,谢谢!!!