V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
microka
V2EX  ›  全球工单系统

QQ 群文件能否被外部程序接管下载?

  •  
  •   microka · 2021-12-06 19:50:46 +08:00 · 1797 次点击
    这是一个创建于 1083 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前可以在 QQ 群空间网页下载 Q 群文件,现在 https://qun.qzone.qq.com/ 已经打不开了,而 Q 群自带的下载速度有时不太理想,想用 IDM 来接管下载,除了抓包还有别的办法吗?
    10 条回复    2021-12-07 13:02:09 +08:00
    oott123
        1
    oott123  
       2021-12-06 22:56:56 +08:00 via Android
    如果你是 QQ 会员,可以通过转发给小号的方式下载,有时候会比直接下载快一点
    Greatshu
        2
    Greatshu  
       2021-12-06 23:00:02 +08:00
    保存到微云就可以调用 IDM 了
    microka
        3
    microka  
    OP
       2021-12-06 23:10:36 +08:00
    @Greatshu QQ 群文件,没有“保存到微云”的选项。
    Greatshu
        4
    Greatshu  
       2021-12-06 23:14:22 +08:00   ❤️ 1
    @microka #3 安卓客户端 QQ 群文件,右上角多选可以保存到微云
    microka
        5
    microka  
    OP
       2021-12-07 01:11:45 +08:00
    @Greatshu 感谢,iOS QQ 手机版也可以保存至微云,但刚试了下,同一个 1GB 大小的文件,微云 IDM 8 线程下载速度在 900KB/s 左右,QQ PC 版下载速度在 3MB/s 左右。😂
    root01
        6
    root01  
       2021-12-07 08:55:21 +08:00
    web 版群文件了解一下+idm
    alect
        7
    alect  
       2021-12-07 09:51:52 +08:00
    QQ 群下载我感觉还挺快的了
    black201w
        8
    black201w  
       2021-12-07 10:47:10 +08:00
    我记得是可以通过一个 api 去获取群文件的 id 的,然后拼接一下就可以获取下载直链了。。之前弄过一个群机器人下载文件就是用这种方式
    black201w
        9
    black201w  
       2021-12-07 11:14:00 +08:00   ❤️ 1
    (需要先登录 QQ 空间等网站,以获取 cookie 保存在浏览器中)
    获取群文件列表 api:
    https://pan.qun.qq.com/cgi-bin/group_file/get_file_list?gc={群号}&bkn={通过 cookie 中的 skey 计算得出的数字}&start_index=0&cnt=30&filter_code=0&folder_id=%2F&show_onlinedoc_folder=1

    下载链接接口:
    ( busid 、id 参数在列表 api 中有返回)
    https://pan.qun.qq.com/cgi-bin/group_share_get_downurl?uin={你的 QQ 号}&groupid={群号}&pa=/{busid}{id}&r={随机 16 位数字}&charset=utf-8&g_tk={同上面接口 bkn}&callback=_Callback


    bkn 计算方法(Python 示例):
    ```python
    def bkn(skey):
    hash_key = 5381
    for i in range(len(skey)):
    hash_key += (hash_key << 5) + ord(skey[i])
    hash_key = hash_key & 0x7fffffff
    return hash_key
    ```
    microka
        10
    microka  
    OP
       2021-12-07 13:02:09 +08:00
    @root01 请问 web 版群文件在哪里?
    @black201w 大佬操作 666 ,有时间我研究下,感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   924 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 21:20 · PVG 05:20 · LAX 13:20 · JFK 16:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.