Q宠大乐斗协议全面分析(3)--开通乐斗
2010-10-23 06:03
357 查看
开通乐斗前先要判断下是否开通了乐斗
http://fight.pet.qq.com/cgi-bin/petpk?cmd=enter
get方式提交,服务器返回 result:msg:类结果。这种返回格式是QQ空间大多数功能及应用的返回格式
result 返回0正常 返回1有两种情况,一个是没有开通乐斗另一个是开通了乐斗,但是没有领取QQ宠物
开通乐斗需要2步
第一步开通乐斗应用
提交地址:http://w.cnc.qzone.qq.com/cgi-bin/qzapp/userapp_addone.cgi
提交方式:post
提交参数uin={0}&appid=362&countryid=1&provinceid=1&cityid=403&_scorr_20100723_=http%3A%2F%2Fuser.qzone.qq.com%2F{0}%7Chttp%3A%2F%2Fuser.qzone.qq.com%2F{0}
{0}为QQ号码
服务器返回 ret:0 表示成功
如果是新号,没有领取过QQ宠物的话需要进行第二步,领取QQ宠物
提交地址:http://fight.pet.qq.com/cgi-bin/petpk?cmd=regist&sex={0}
{0}表示宠物的性别 102为男 103为女
提交方式:get
返回 result:'0' 成功
相关代码:
代码
http://fight.pet.qq.com/cgi-bin/petpk?cmd=enter
get方式提交,服务器返回 result:msg:类结果。这种返回格式是QQ空间大多数功能及应用的返回格式
result 返回0正常 返回1有两种情况,一个是没有开通乐斗另一个是开通了乐斗,但是没有领取QQ宠物
开通乐斗需要2步
第一步开通乐斗应用
提交地址:http://w.cnc.qzone.qq.com/cgi-bin/qzapp/userapp_addone.cgi
提交方式:post
提交参数uin={0}&appid=362&countryid=1&provinceid=1&cityid=403&_scorr_20100723_=http%3A%2F%2Fuser.qzone.qq.com%2F{0}%7Chttp%3A%2F%2Fuser.qzone.qq.com%2F{0}
{0}为QQ号码
服务器返回 ret:0 表示成功
如果是新号,没有领取过QQ宠物的话需要进行第二步,领取QQ宠物
提交地址:http://fight.pet.qq.com/cgi-bin/petpk?cmd=regist&sex={0}
{0}表示宠物的性别 102为男 103为女
提交方式:get
返回 result:'0' 成功
相关代码:
代码
/// <summary> /// 开通乐斗 /// </summary> /// <returns></returns> public bool openLeDou(out string message) { message = ""; string url = "http://w.cnc.qzone.qq.com/cgi-bin/qzapp/userapp_addone.cgi"; string postData = string.Format("uin={0}&appid=362&countryid=1&provinceid=1&cityid=403&_scorr_20100723_=http%3A%2F%2Fuser.qzone.qq.com%2F{0}%7Chttp%3A%2F%2Fuser.qzone.qq.com%2F{0}",user.Username); HttpHelper.Encoding = Encoding.GetEncoding("utf-8"); string result = HttpHelper.GetHtml(url,postData,true,user.Cookie); bool isOk = false; if (result != "") { string ret = Utils.getStringByRegex(result, "(\"ret\":)(?<ret>.+?)(,)", "ret"); message = Utils.getStringByRegex(result, "(\"msg\":\")(?<msg>.+?)(\")","msg"); if (ret == "0") isOk = true; } return isOk; } /// <summary> /// 加载乐斗,判断乐斗状态 /// </summary> /// <param name="message">返回服务器消息</param> /// <returns>0正常进入,1可能没有领取宠物或者没有开通空间</returns> public int LoadLeDou(out string message) { int ret = -1; message = ""; string url = "http://fight.pet.qq.com/cgi-bin/petpk?cmd=enter"; HttpHelper.Encoding = Encoding.GetEncoding("gb2312"); string result = HttpHelper.GetHtml(url, user.Cookie); if (result != "") { ret = Utils.ToInt32(Utils.getStringByRegex(result, "(result:')(?<ret>.+?)(')", "ret")); message = Utils.getStringByRegex(result, "(msg:')(?<msg>.+?)(')", "msg"); } return ret; } /// <summary> /// 领取宠物 /// </summary> /// <param name="sex">1男2女</param> /// <returns>是否成功领取</returns> public bool lingquCW(int sex) { string url = string.Format("http://fight.pet.qq.com/cgi-bin/petpk?cmd=regist&sex={0}", sex == 1 ? "102" : "103"); HttpHelper.Encoding = Encoding.GetEncoding("gb2312"); string result = HttpHelper.GetHtml(url, user.Cookie); if (result.Contains("result:'0'")) return true; else return false; }
相关文章推荐
- Q宠大乐斗协议全面分析(5)--获取个人及好友详细信息
- Q宠大乐斗协议全面分析(1)--序言
- Q宠大乐斗协议全面分析(2)--登录
- Q宠大乐斗协议全面分析(4)--获取好友信息
- COAP协议全面分析
- COAP协议全面分析
- PPP协议全面分析
- TCP协议三次握手过程分析
- 基于RTMP协议的h.264码流传输以及各种视音频封装格式分析
- spi协议及工作原理分析
- TCP、UDP、IP 协议分析
- 不全面的分析虚函数表
- 证书的应用之一 —— TCP&SSL通信实例及协议分析(中)
- HLS协议深入分析——时间线介绍(一)
- Https协议:SSL建立过程分析
- 网络协议分析工具Ethereal的使用
- HTTP协议之multipart/form-data请求分析
- SCTP协议源码分析--多归属特性multi-homed(二)
- 详解:路由协议分析和配置实例
- Wireshark数据包分析之TCP协议包解读