契约机器人吧 关注:122贴子:826
  • 2回复贴,共1

契约机器人开发教程|Cookie使用基础篇

只看楼主收藏回复

# 学习内容简介
本教程主要实现:
契约sdk cookie函数使用
实现拉好友批量入群功能
说明:
本课程源代码支持契约单Q版和多Q版框架
# 联系我们
如果你有机器人开发问题或有需求不会开发,可与我们进行联系
[QQ机器人开发交流群](http://u.720life.cn/s/f2316816)
# 声明
本教程非契约官方教程,为作者学习易语言过程的知识总结,将主要内容整理、汇总后,形成本教程。
致力于进行技术交流,帮助新人快速入门,少走弯路。
请在遵守中华人民共和国法律、腾讯相关规定和契约框架相关说明下进行使用
如您使用本技术,进行包括但不限于如下行为,软件作者并不知情,不承担任何法律风险
1.违法行为
2.违法腾讯规定
3.违法契约框架规定
# 教程内容
对于web网站来说cookie/session是网站对用户的唯一标识,非常的重要,正如大家所知,QQ的很多功能 其实都是使用web接口方式实现的,如之前的webQQ(现在已经下线了), 因此学习cookie就至关重要,可以扩展很多的新功能,本课程将作者知道的契约SDK cookie使用与大家分享,并且实现一键拉好友入群功能
## 契约SDK 取cookie介绍
QY.取Cookies() 这个函数是获得当前机器人的cookie信息,大部分时候是够用的
我们用这个函数进行测试。直接使用契约自带的例子 进行测试,效果如下:
![cookie测试.png](
)
cookie信息形如:
pt2gguin=o2649144800; uin=o2649144800; skey=MCMDAAtK08; p_uin=o2649144800
最主要的是获取skey这个值 其他的大家可以看出来是机器人的QQ号
很多QQ API接口只需要这个skey就可以进行访问,非常的简单,很多接口都需要使用 QY.取CsrfToken () 配合api接口,其实就是QQ api接口中的 bkn 的值
由于QQ的网站域名比较多,每个网站的cookie可能不相同,因此契约还提供了第二个获取指定QQ网站的cookie 函数:QY.取域名Cookie () 可以指定域名获取对应cookie
这个功能 仍然在契约sdk的样例代码中存在:
![域名cookie测试.png](
)
这个函数非常重要,对于拓展功能来说
## 使用qun.qq.com 邀请好友入群功能实现
首先 我们访问 https://qun.qq.com/qundj.html 找到邀请好友入群功能 直接使用浏览器的开发者模式 查看数据包
`POST /cgi-bin/qun_mgr/add_group_member HTTP/1.1
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded; Charset=UTF-8
Accept: */*
Accept-Language: zh-cn
Cookie: cookie
Referer: http://cgi.find.qq.com/qqfind/buddy/search_v3
User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)
Content-Length: 51
Host:qun.qq.com
gc=群号&ul=QQ好友多个使用|分割&bkn=538405891`
从数据包中我们知道 我们需要获取的是 qun.qq.com域名的cookie
然后计数出bkn 在写上自己的好友QQ,多个好友使用|分割,这样数据包就构造好了,直接使用易语言发送 就实现了邀请好友一键入群的功能
界面设计如下:
![界面设计如下.png](
)
源代码如下:
.版本 2
.子程序 _按钮1_被单击
.局部变量 cookie, 文本型
.局部变量 header, 文本型
.局部变量 群号, 文本型
.局部变量 data, 文本型
cookie = QY.取域名Cookie (获取QQID (), “https://qun.qq.com”)
群号 = 编辑框3.内容
header = “Referer: https://qun.qq.com/cgi-bin/qun_mgr/add_group_member” + #换行符 + “User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)” + #换行符 + “Content-Type: application/x-www-form-urlencoded; Charset=UTF-8” + #换行符
data = “gc=” + 群号 + “&ul=” + 编码_URL编码 (编辑框4.内容, 假, 真) + “&bkn=” + QY.取CsrfToken (获取QQID ())
data = 网页_访问S (“https://qun.qq.com/cgi-bin/qun_mgr/add_group_member”, 1, data, cookie, , header)
编辑框1.内容 = 编辑框1.内容 + #换行符 + data
获取cookie,然后填写好友列表,最终发送请求 即可邀请好友入群 非常简单
# 总结
同样道理,对于其他的QQ api接口,都可以使用本节的方法进行模拟操作,步骤: 1.获得QQ数据包
2. 获取对应的cookie 3.模拟发送请求即可
但QQ API可能经常变动,所以开发出的功能 有可能会失效,需要大家不断的去跟进,腾讯的最新api
# 源代码下载
本教程完整源代码 售价5元
[契约sdk邀请好友入群api](http://u.720life.cn/s/2910269e)
文章原文: http://doc.720life.cn


1楼2020-07-28 07:36回复
    今天有人问这个问题 今天在补充一下,契约已经死了,没有办法了 ...


    2楼2021-06-27 10:46
    回复
      哈哈 契约作者没有再开发新的机器人吗


      3楼2022-12-07 01:29
      回复