mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-10-01 07:02:56 +00:00
fix get cookie
This commit is contained in:
parent
8374ffc1ef
commit
4bedb3bba0
|
@ -19,14 +19,21 @@
|
||||||
|
|
||||||
|
|
||||||
class QQMusicBaseIE(InfoExtractor):
|
class QQMusicBaseIE(InfoExtractor):
|
||||||
|
def _get_cookie(self, key, default=None):
|
||||||
|
return getattr(self._get_cookies('https://y.qq.com').get(key), 'value', default)
|
||||||
|
|
||||||
def _get_g_tk(self):
|
def _get_g_tk(self):
|
||||||
n = 5381
|
n = 5381
|
||||||
for c in self._get_cookies('https://y.qq.com').get('qqmusic_key', ''):
|
for c in self._get_cookie('qqmusic_key', ''):
|
||||||
n += (n << 5) + ord(c)
|
n += (n << 5) + ord(c)
|
||||||
return n & 2147483647
|
return n & 2147483647
|
||||||
|
|
||||||
def _get_uin(self):
|
def _get_uin(self):
|
||||||
return int_or_none(self._get_cookies('https://y.qq.com').get('o_cookie')) or 0
|
return int_or_none(self._get_cookie('uin')) or 0
|
||||||
|
|
||||||
|
@property
|
||||||
|
def is_logged_in(self):
|
||||||
|
return bool(self._get_uin() and self._get_cookie('fqm_pvqid'))
|
||||||
|
|
||||||
# Reference: m_r_GetRUin() in top_player.js
|
# Reference: m_r_GetRUin() in top_player.js
|
||||||
# http://imgcache.gtimg.cn/music/portal_v3/y/top_player.js
|
# http://imgcache.gtimg.cn/music/portal_v3/y/top_player.js
|
||||||
|
@ -181,6 +188,9 @@ def _real_extract(self, url):
|
||||||
'abr': ('filename', {lambda x: self._FORMATS[x[:4]]['abr']}),
|
'abr': ('filename', {lambda x: self._FORMATS[x[:4]]['abr']}),
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
if not formats and not self.is_logged_in:
|
||||||
|
self.raise_login_required()
|
||||||
|
|
||||||
if traverse_obj(data, ('req_2', 'code')):
|
if traverse_obj(data, ('req_2', 'code')):
|
||||||
self.report_warning(f'Failed to download lyric, error {data["req_2"]["code"]}')
|
self.report_warning(f'Failed to download lyric, error {data["req_2"]["code"]}')
|
||||||
lrc_content = traverse_obj(data, ('req_2', 'data', 'lyric', {lambda x: base64.b64decode(x).decode('utf-8')}))
|
lrc_content = traverse_obj(data, ('req_2', 'data', 'lyric', {lambda x: base64.b64decode(x).decode('utf-8')}))
|
||||||
|
|
Loading…
Reference in a new issue