V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Septembers
V2EX  ›  分享创造

一键清除 QQ 互联授权

  •  7
     
  •   Septembers · 2019-04-15 08:20:33 +08:00 · 8351 次点击
    这是一个创建于 2050 天前的主题,其中的信息可能已经有所发展或是发生改变。

    登陆 connect.qq.com 获取 uinskey 的 cookie 拷贝填充到代码

    并运行可直接清除全部的 QQ 互联授权

    #!/usr/bin/env python3
    # License: Public Domain
    import requests
    
    session = requests.session()
    session.cookies.set("uin", "your uin id from connect.qq.com cookie")
    session.cookies.set("skey", "your skey from connect.qq.com cookie")
    
    
    def fetch_auth_list(start, limit):
        response = session.get(
            "https://cgi.connect.qq.com/authmng/get_auth_app_list",
            headers={
                "Referer": "https://connect.qq.com/manage.html",
            },
            params={
                "sort": "time",
                "apptype": "all",
                "token": 5381,
                "order": "desc",
                "start": start,
                "limit": limit,
            },
        )
        return response.json()
    
    
    def delete_connect(app_id):
        response = session.post(
            "https://cgi.connect.qq.com/authmng/del_app_auth",
            headers={
                "Referer": "https://cgi.connect.qq.com/proxy.html?callback=1&id=1"
            },
            data={
                "appid": app_id,
            },
        )
        payload = response.json()
        print("AppID: %s, Message: %s" % (app_id, payload["msg"]))
    
    
    def main():
        total = fetch_auth_list(0, 0)["result"]["total"]
        app_ids = set()
        for index in range(0, total, 20):
            apps = fetch_auth_list(index, 20)["result"]["data"]
            app_ids |= set(app["appid"] for app in apps)
        for app_id in sorted(app_ids):
            delete_connect(app_id)
    
    
    if __name__ == "__main__":
        main()
    
    47 条回复    2019-04-21 19:27:45 +08:00
    0312birdzhang
        1
    0312birdzhang  
       2019-04-15 08:28:34 +08:00
    emmm,手动点了一百多下取消了三页的,早有这个就好了
    Septembers
        2
    Septembers  
    OP
       2019-04-15 08:30:36 +08:00
    @0312birdzhang 我 11 页啊,才写的这个
    NicholasYX
        3
    NicholasYX  
       2019-04-15 08:35:22 +08:00 via iPhone
    取消以后再授权还是之前的账号吗?
    Bellaaa
        4
    Bellaaa  
       2019-04-15 08:36:29 +08:00 via Android
    谢谢!有没有微博的呢?
    Septembers
        5
    Septembers  
    OP
       2019-04-15 08:38:24 +08:00
    @NicholasYX 不清楚
    Septembers
        6
    Septembers  
    OP
       2019-04-15 08:38:36 +08:00
    @Bellaaa 我微博已注销
    lzxgh621
        7
    lzxgh621  
       2019-04-15 08:51:35 +08:00 via iPhone   ❤️ 1
    @NicholasYX #3 一样的
    除非网站想不开换了互联 ID
    CoolkHz
        8
    CoolkHz  
       2019-04-15 08:57:48 +08:00
    这个咋用 在哪运行啊
    bxnh
        9
    bxnh  
       2019-04-15 09:05:27 +08:00
    make
    shuizhongyu10
        10
    shuizhongyu10  
       2019-04-15 09:35:56 +08:00
    @CoolkHz 你可以不运行啊 进 http://connect.qq.com/ 登录一下然后手动档~~
    jookr
        11
    jookr  
       2019-04-15 09:54:57 +08:00   ❤️ 1
    谁能弄个 js 版的?
    furch
        12
    furch  
       2019-04-15 09:59:40 +08:00
    40 页的授权全部清了
    Funian
        13
    Funian  
       2019-04-15 09:59:46 +08:00
    http://connect.qq.com/ 强制扫码登陆,🙄
    glaucus
        14
    glaucus  
       2019-04-15 10:03:28 +08:00
    22 页。。。打算自己再增加一个白名单功能
    Septembers
        15
    Septembers  
    OP
       2019-04-15 10:04:44 +08:00
    @glaucus 这个很简单你直接
    app_ids ^= set(app_id list)
    jfdnet
        16
    jfdnet  
       2019-04-15 10:06:16 +08:00
    居然必须使用 QQ 手机版才能登录,腾讯体育也是,这真的是不要逼脸。
    DANG
        17
    DANG  
       2019-04-15 10:07:45 +08:00
    感谢,这个网站头一次知道
    tediorelee
        18
    tediorelee  
       2019-04-15 10:09:38 +08:00
    我整整 18 页的授权,傻了
    crazytree
        19
    crazytree  
       2019-04-15 10:29:13 +08:00
    去一个新浪微博的,想注销微博账号,必须取消全部授权,但是 tmd 又没有授权列表,很操蛋了
    zst
        20
    zst  
       2019-04-15 10:30:28 +08:00 via Android
    @crazytree 发点卖粉广告吧 自带注销据说太麻烦了
    jfdnet
        21
    jfdnet  
       2019-04-15 10:35:44 +08:00
    Traceback (most recent call last):
    File "QQunAuth.py", line 53, in <module>
    main()
    File "QQunAuth.py", line 43, in main
    total = fetch_auth_list(0, 0)["result"]["total"]
    TypeError: list indices must be integers or slices, not str
    outtime
        22
    outtime  
       2019-04-15 10:46:35 +08:00
    32 页的我。。。
    感谢楼主!
    boom7
        23
    boom7  
       2019-04-15 10:46:43 +08:00
    hhh 前些天准备注销多余 qq 帐号的时候也写了一个
    Septembers
        24
    Septembers  
    OP
       2019-04-15 10:46:58 +08:00
    @jfdnet 你需要修改 cookie 设置
    wozhihuipinyin
        25
    wozhihuipinyin  
       2019-04-15 11:02:49 +08:00 via Android
    先谢谢楼主写了这么好的工具,不知道楼主能不能再详细介绍下使用方法–没有编程基础真的是无处下手呀😂
    kumiko
        26
    kumiko  
       2019-04-15 11:26:22 +08:00
    @wozhihuipinyin #25
    chrome f12 - Application - Cookies 看自己的 uin 和 skey
    "your uin id from connect.qq.com cookie","your skey from connect.qq.com cookie" 替换双引号里的内容
    保存后运行这个 py 文件
    luruitao
        27
    luruitao  
       2019-04-15 11:28:52 +08:00
    想问问为啥要取消这个授权?
    xiangchen2011
        28
    xiangchen2011  
       2019-04-15 11:30:43 +08:00
    不太会用 哎
    sdushn
        29
    sdushn  
       2019-04-15 11:34:41 +08:00
    四页,手动清了下,看到了开心网,
    xiangchen2011
        30
    xiangchen2011  
       2019-04-15 11:44:51 +08:00
    可以可以,弄会了
    dd0754
        31
    dd0754  
       2019-04-15 12:20:28 +08:00
    5 页...感谢楼主
    du5t6reak
        32
    du5t6reak  
       2019-04-15 12:59:28 +08:00 via iPhone
    必须手动赞一个
    luruitao
        33
    luruitao  
       2019-04-15 13:28:26 +08:00   ❤️ 3
    抛砖引玉,写了个 js 模拟点击的脚本,直接粘贴到控制台就能使,不过得一页一页来,有兴趣的大佬可以继续完善完善。
    ```js
    let list = [];
    for (let i = 0; i < 10; i++) {
    list.push(() => {
    $(`#content > div > div.listContent > ul > li:nth-child(${i + 1}) > div.appAuthManager > a > span`).click();
    setTimeout(() => {
    $('#content > div > div.auth_pop_wrap > div > div.msgContent > a')[0].click();
    list[i + 1] && list[i + 1]();
    }, 1000);
    });
    }
    list[0]();
    ```
    rolexman
        34
    rolexman  
       2019-04-15 14:18:51 +08:00
    怎么运行代码,小白路过
    asdfa
        35
    asdfa  
       2019-04-15 14:48:41 +08:00
    6 页 感谢楼主
    KennySun
        36
    KennySun  
       2019-04-15 14:49:06 +08:00
    28 页...
    KennySun
        37
    KennySun  
       2019-04-15 14:49:22 +08:00
    感谢楼主
    easylee
        38
    easylee  
       2019-04-15 15:05:08 +08:00
    感谢提供,我觉得可以直接放上 Github 了。
    DigitaIOcean
        39
    DigitaIOcean  
       2019-04-15 15:07:23 +08:00
    额…… 为啥要清掉……
    cnzzz
        40
    cnzzz  
       2019-04-15 17:13:30 +08:00
    感谢,两页
    twitch
        41
    twitch  
       2019-04-15 21:41:51 +08:00 via Android
    感谢楼主分享
    natforum
        42
    natforum  
       2019-04-16 10:25:14 +08:00
    刚刚翻了下看到一个这个
    brucmao
        43
    brucmao  
       2019-04-16 19:04:06 +08:00
    替换了自己的 uin 和 skey 运行出错
    Septembers
        44
    Septembers  
    OP
       2019-04-17 09:31:26 +08:00
    @brucmao 可能你的 uin / skey 设置错了
    wymeteor
        45
    wymeteor  
       2019-04-19 11:19:54 +08:00
    @NicholasYX 是的,实际上这个只是清理 QQ 授权显示而已,实际账户数据还在第三方手上,
    brucmao
        46
    brucmao  
       2019-04-19 16:02:54 +08:00
    @Septembers 可以了,改成这样
    ession.cookies.set("p_uin", "your uin id from connect.qq.com cookie")
    session.cookies.set("p_skey", "your skey from connect.qq.com cookie")
    napsterwu
        47
    napsterwu  
       2019-04-21 19:27:45 +08:00
    @brucmao
    '{"retcode":100000,"msg":"login error [errcode:100000:0]","result":[]}'
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   908 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:15 · PVG 04:15 · LAX 12:15 · JFK 15:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.