Initial commit: BiliDownloader Web 版:Python 零依赖后端 + shadcn/ui 前端
This commit is contained in:
@@ -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])
|
||||
Reference in New Issue
Block a user