Files

38 lines
1.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# -*- 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])