具体代码
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',
'Referer': 'https://www.bilibili.com/',
'Origin': 'https://www.bilibili.com'
}
def readCookie(cookie_path):
with open(cookie_path, 'r', encoding='utf-8') as f:
cookies = f.readline()
if not cookies.strip(): # 使用 strip() 去除可能的前后空白字符,然后检查是否为空
raise ValueError(f"The file {cookie_path} is empty.")
print(cookies)
return eval(cookies)
# cookies = {'DedeUserID': '691902317', 'DedeUserID__ckMd5': 'ead312019baad7ed', 'SESSDATA': '82611685%2C1732125488%2C08de4%2A51CjAWnKN6v5XukJgYOlSquLA9CHJuky9crpA4V6c8XxY5PZMT5DDIe2qkcj_1xHGTxB4SVm5jNG9icEY0OFNncW9zUEQ5ZGxfYVdkdmUxTHlZX0RGekxISG5DU2VnRHplb0hoTGZZRnZ1WDlTRFdsdW1pN0d6SlA1MF84T0NLLURVOHpOdDNVaXZnIIEC', 'b_nut': '1716573488', 'bili_jct': '9957cab1d8ad41d294ebb0bd034903e4', 'buvid3': 'CCED0FB6-0018-2404-653E-1689622BBB2A88459infoc', 'sid': 'ohm0xv7e'}
cookies = readCookie('cookies.txt')
# 发送HTTP请求获取登录状态信息
login_url = requests.get("https://api.bilibili.com/x/web-interface/nav", headers=headers, cookies=cookies).json()
# 判断登录状态
if login_url['code'] == 0:
# 如果登录状态码为0,则表示登录成功
print(f"Cookies值有效, {login_url['data']['uname']}, 已登录!")
else:
# 如果登录状态码不为0,则表示登录失败
print('Cookies值已经失效,请重新扫码登录!')
这个代码,就是验证你cookie是否有效,比如过了一段时间(b站的cookie有效时间还是挺长的)。
这个代码,搭配我前文说的获取cookie,以及过一段时间验证cookie的有效性。