g_tk算法

g_tk算法

阅读时长:5分钟

本文内容: 在QQ空间领域中需要使用的g_tk算法

介绍:g_tk是腾讯在QQ空间这一领域使用的密文(其他的地方我没遇到g_tk)。调用其url时,需要添加计算出的g_tk参数才能成功!

使用

def get_g_tk(cookie):
    hashes = 5381
    for letter in cookie.split(';')[-1].split('=')[-1]:
        hashes += (hashes << 5) + ord(letter)
    g_tk = hashes & 0x7fffffff
    return g_tk

比如获得

## get_data
def fetch_like_number_data(cookie, itemId):
    if not itemId:
        raise ValueError("id does not exist")

    g_tk = get_g_tk(cookie)
    url = f'https://vip.qq.com/vbs/n_UniBusinessCollectObj/nCollectInfo?Id=999&g_tk={g_tk}'

    stLo = {
        "iKeyType": 1,
        "iOpplat": 1,
        "sClientIp": "",
        "sSKey": "string"
   }

    query_param = {
        "stLogin": stLo,
        "stUniBusinessItemList":  ["1"],

    }
    a_headers = {
        'User-Agent': user_agent,
        'Cookie': cookie,
        'Content-Type': 'application/json; charset=utf-8',
    }

    chick_url = f'https://vip.qq.com/vbs/b_UniBusinessLogicObj/uC?Id={itemId}&g_tk={g_tk}'
    dumps = json.dumps(query_param)
    requests.post(url=chick_url, data=dumps, headers=a_headers)
    a_response = requests.post(url=a_url, data=dumps, headers=a_headers)

    a_json = json.loads(a_response.text)
    # 数据
    a_num = a_json['data']['stRsp']['stItemCollectInfoList'][0]['cnt']
    print(a_num)
    return a_num
    ```
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值