QQ拒绝添加,参考

admin7年前 (2020-04-30)易语言交流2291
.版本 2
.支持库 spec

.程序集 窗口程序集_窗口1
.程序集变量 cookie, 文本型

.子程序 _按钮1_被单击
.局部变量 a, 文本型


.如果真 (删首尾空 (编辑框1.内容) = “”)
    编辑框1.内容 = “”
    信息框 (“cookie不能为空”, #错误图标 + #确认钮, “还没有输入cookie”, )
    返回 ()
.如果真结束

.如果真 (取反 (柒_判断Cookie是否有效 (编辑框1.内容)))
    信息框 (“编辑框已有内容,但不是有效的cookie”, #警告图标, , )
    返回 ()
.如果真结束

设置拒绝添加 (编辑框1.内容, a)
信息框 (a, #信息图标 + #确认钮, “提示”, )

.子程序 _窗口1_创建完毕

调试输出 (“”)
cookie = “”

.子程序 _按钮2_被单击
.局部变量 参考, 文本型, , "0"
.局部变量 值, 文本型, , "0"
.局部变量 文本, 文本型

' 如果你有其他取cookie,那么将取得的空间cookie 填入上面‘cookie’
.如果真 (删首尾空 (cookie) = “”)  ' 如果没有 那么就用我的模块取cookie
    柒_取Clientkey (参考, 文本)
    调试输出 (文本)
    .如果真 (取数组成员数 (参考) = 0)
        信息框 (“未登录QQ或QQ处于被锁定状态”, #警告图标 + #确认钮, “错误”, )
        返回 ()
    .如果真结束
    值 = 分割文本 (参考 [1], “,”, )  ' 默认取本机第一个登录QQ的cookie
    调试输出 (值)
    文本 = 柒_Clientkey取Cookie_空间 (值 [1], 值 [2])  ' 默认取本机第一个登录QQ的cookie
    编辑框1.内容 = 文本
    返回 ()
.如果真结束

.如果真 (取反 (柒_判断Cookie是否有效 (cookie)))
    信息框 (“‘cookie’已有内容,但不是有效的cookie”, #警告图标, , )
    返回 ()
.如果真结束

编辑框1.内容 = cookie

.子程序 设置拒绝添加, 逻辑型, 公开, 设置添加好友验证方式为不允许任何人添加,成功返回真,失败返回假
.参数 Cookie, 文本型, , 用QQ空间的Cookie就行
.参数 文本参考, 文本型, 参考 可空, 返回的数据,仅供参考
.局部变量 url, 文本型
.局部变量 post, 文本型
.局部变量 data, 文本型
.局部变量 json, 类_json

url = “http://ti.qq.com/cgi-node/friend-auth/set”
post = “req=” + 编码_URL编码 (“{” + #引号 + “at” + #引号 + “:2,” + #引号 + “q” + #引号 + “:” + #引号 + #引号 + “,” + #引号 + “l” + #引号 + “:[],” + #引号 + “viaphone” + #引号 + “:0}”, 真, 真) + “&bkn=” + Get_值 (网页_取单条Cookie (Cookie, “skey”, 真))
data = 编码_Utf8到Ansi (网页_访问_对象 (url, 1, post, Cookie))
.如果 (json.解析 (data))
    data = json.取通用属性 (“msg”)
    .如果 (data = “修改成功”)
        文本参考 = “设置成功”
        返回 (真)
    .否则
        .如果 (data = “参数错误”)
            文本参考 = “参数错误”
            返回 (假)
        .否则
            .如果 (data = “登录态校验失败”)
                文本参考 = “登录态校验失败,请检查Cookie是否正确”
                返回 (假)
            .否则
                文本参考 = data
                返回 (假)
            .如果结束

        .如果结束

    .如果结束

.否则
    文本参考 = “Json解析未成功,可能是Api已失效 返回原文:【” + data + “】”
    返回 (假)
.如果结束


.子程序 Get_值, 文本型
.参数 值, 文本型
.局部变量 基值, 整数型
.局部变量 计数, 整数型
.局部变量 长度, 整数型
.局部变量 结果, 整数型

基值 = 5381
计数 = 0
长度 = 取文本长度 (值)
.判断循环首 (计数 < 长度)
    基值 = 基值 + 左移 (基值, 5) + 取代码 (值, 计数 + 1)
    计数 = 计数 + 1
.判断循环尾 ()
结果 = 位与 (基值, 2147483647)
返回 (到文本 (结果))