b站 APP8.49 sign 算法 分析

发布于:2025-06-17 ⋅ 阅读:(15) ⋅ 点赞:(0)

部分python代码

sign = md5_encrypt(original_text)

print(f"MD5 哈希: {sign}")

import requests


headers = {
    "Host": "app.bilibili.com",
    "accept": "*/*",
    "app-key": "android64",
}
url = "https://app.bilibili.com/x/v2/feed/index"
params = {
    "appkey": "1d8b6e7d45233436",
    "auto_refresh_state": "1",
    "autoplay_card": "11",
    "autoplay_timestamp": "0",
    "banner_hash": "6827493585956264873",
    "build": "8490300",
    "c_locale": "zh-Hans_CN",
    "channel": "vivo",
    "client_attr": "0",
    "column": "2",
    "column_timestamp": ts,
    "device_name": "Pixel 2 XL",
    "device_type": "0",
    "disable_rcmd": "0",
    "flush": "6",
    "fnval": "16848",
    "fnver": "0",
    "force_host": "0",
    "fourk": "1",
    "https_url_req": "0",
    "idx": ts,
    "inline_danmu": "2",
    "inline_sound": "1",
    "inline_sound_cold_state": "2",
    "interest_id": "0",
    "login_event": "0",
    "mobi_app": "android",
    "network": "wifi",
    "old_pegasus": "1",
    "open_event": "",
    "platform": "android",
    "player_net": "1",
    "pull": "true",
    "qn": "32",
    "qn_policy": "1",
    "recsys_mode": "0",
    "s_locale": "zh-Hans_CN",
    "sign": sign
}
response = requests.get(url, headers=headers, params=params)

print(response.text)
print(response)
sign = md5_encrypt(original_text)

print(f"MD5 哈希: {sign}")

import requests


headers = {
    "Host": "app.bilibili.com",
    "accept": "*/*",
    "app-key": "android64",
}
url = "https://app.bilibili.com/x/v2/feed/index"
params = {
    "appkey": "1d8b6e7d45233436",
    "auto_refresh_state": "1",
    "autoplay_card": "11",
    "autoplay_timestamp": "0",
    "banner_hash": "6827493585956264873",
    "build": "8490300",
    "c_locale": "zh-Hans_CN",
    "channel": "vivo",
    "client_attr": "0",
    "column": "2",
    "column_timestamp": ts,
    "device_name": "Pixel 2 XL",
    "device_type": "0",
    "disable_rcmd": "0",
    "flush": "6",
    "fnval": "16848",
    "fnver": "0",
    "force_host": "0",
    "fourk": "1",
    "https_url_req": "0",
    "idx": ts,
    "inline_danmu": "2",
    "inline_sound": "1",
    "inline_sound_cold_state": "2",
    "interest_id": "0",
    "login_event": "0",
    "mobi_app": "android",
    "network": "wifi",
    "old_pegasus": "1",
    "open_event": "",
    "platform": "android",
    "player_net": "1",
    "pull": "true",
    "qn": "32",
    "qn_policy": "1",
    "recsys_mode": "0",
    "s_locale": "zh-Hans_CN",
    "sign": sign
}
response = requests.get(url, headers=headers, params=params)

print(response.text)
print(response)

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。


网站公告

今日签到

点亮在社区的每一天
去签到