Initial commit: BiliDownloader Web 版:Python 零依赖后端 + shadcn/ui 前端

This commit is contained in:
WpyQwq
2026-09-19 11:49:36 +08:00
commit f42cf11831
41 changed files with 7576 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
# -*- coding: utf-8 -*-
"""诊断:nav 为何报未登录 + dash.video 实际内容。"""
import json
import sys
import urllib.request
sys.path.insert(0, r"E:\deepseek\BiliDownloaderWeb")
import engine
cfg = json.load(open(r"E:\deepseek\BiliDownloaderWeb\config.json", encoding="utf-8"))
sess = cfg["sessdata"]
print("config 里 sessdata 长度 =", len(sess))
print("前 24 字符 =", sess[:24])
print("后 24 字符 =", sess[-24:])
print("\n--- 直接请求 nav,看原始返回 ---")
req = urllib.request.Request(
engine.API_NAV,
headers={"User-Agent": engine.UA, "Referer": "https://www.bilibili.com",
"Cookie": "SESSDATA=" + sess})
with urllib.request.urlopen(req, timeout=30) as r:
raw = json.loads(r.read().decode("utf-8"))
print("code =", raw.get("code"), " message =", raw.get("message"))
d = raw.get("data") or {}
print("isLogin =", d.get("isLogin"), " uname =", d.get("uname"))
print("有 wbi_img =", bool(d.get("wbi_img")))
print("\n--- dash.video 实际内容(qn=127)---")
vid = engine.video_detail("BV1HVBAYLEAo", "SESSDATA=" + sess)
cid = vid["pages"][0]["cid"]
p = engine.play_url("BV1HVBAYLEAo", cid, "SESSDATA=" + sess)
print("maxQuality =", p["maxQuality"])
for s in p["video"]:
print(f" 视频流 qn={s['quality']:>4} {s['width']}x{s['height']} codec={s['codecs']} {s['bandwidth']//1000}kbps")
for s in p["audio"]:
print(f" 音频流 {s['codecs']} {s['bandwidth']//1000}kbps")
print("qualities 的 width/height 字段示例:", p["qualities"][0])