Добавление информации об ошибке 400
This commit is contained in:
parent
26a6e5e47b
commit
51f5940140
4 changed files with 25 additions and 5 deletions
16
README.md
16
README.md
|
|
@ -88,7 +88,8 @@ usage: yandex-music-downloader [-h] [--hq] [--skip-existing] [--add-lyrics]
|
|||
(--artist-id <ID исполнителя> | --album-id <ID альбома> | --track-id <ID трека> | --playlist-id <владелец плейлиста>/<тип плейлиста> | -u URL)
|
||||
[--unsafe-path] [--dir <Папка>]
|
||||
[--path-pattern <Паттерн>] --session-id <ID
|
||||
сессии> [--user-agent <User-Agent>]
|
||||
сессии> [--spravka <Spravka>]
|
||||
[--user-agent <User-Agent>]
|
||||
|
||||
Загрузчик музыки с сервиса Яндекс.Музыка
|
||||
|
||||
|
|
@ -129,11 +130,24 @@ ID:
|
|||
|
||||
Авторизация:
|
||||
--session-id <ID сессии>
|
||||
--spravka <Spravka>
|
||||
--user-agent <User-Agent>
|
||||
по умолчанию: Mozilla/5.0 (X11; Linux x86_64)
|
||||
AppleWebKit/537.36 (KHTML, like Gecko)
|
||||
Chrome/106.0.0.0 Safari/537.36
|
||||
```
|
||||
## Ошибка 400
|
||||
Ниже приведена инструкция по устранению ошибки 400.
|
||||
Перейдите на сайт Яндекс.Музыки, затем проделайте следующие шаги:
|
||||
|
||||
### Для Firefox
|
||||
1. Нажмите на иконку замочка слева от адреса сайта
|
||||
2. Нажмите `Clear cookies and site data`
|
||||
3. Нажмите `Remove`
|
||||
4. Перезагрузите страницу
|
||||
5. Прорешайте капчу
|
||||
6. Скопируйте значение куки `spravka` - передайте его как аргумент
|
||||
`--spravka`
|
||||
|
||||
## Спасибо
|
||||
Разработчикам проекта [yandex-music-download](https://github.com/kaimi-io/yandex-music-download). Оттуда был взят [код хэширования](https://github.com/kaimi-io/yandex-music-download/blob/808443cb32be82e1f54b2f708884cb7c941b4371/src/ya.pl#L720).
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
|||
|
||||
[project]
|
||||
name = "yandex-music-downloader"
|
||||
version = "1.0.3"
|
||||
version = "1.0.4"
|
||||
description = "Загрузчик музыки с сервиса Яндекс.Музыка"
|
||||
requires-python = ">=3.9"
|
||||
readme = "README.md"
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ def main():
|
|||
auth_group.add_argument('--session-id',
|
||||
required=True,
|
||||
metavar='<ID сессии>')
|
||||
auth_group.add_argument('--spravka', metavar='<Spravka>')
|
||||
auth_group.add_argument('--user-agent',
|
||||
default=DEFAULT_USER_AGENT,
|
||||
metavar='<User-Agent>',
|
||||
|
|
@ -149,7 +150,8 @@ def main():
|
|||
time.sleep(args.delay)
|
||||
|
||||
def setup_session(session: Session):
|
||||
core.setup_session(session, args.session_id, args.user_agent)
|
||||
core.setup_session(session, args.session_id, args.user_agent,
|
||||
args.spravka)
|
||||
session.hooks = {'response': response_hook}
|
||||
|
||||
session = cached_session = Session()
|
||||
|
|
|
|||
|
|
@ -73,9 +73,13 @@ def set_id3_tags(path: Path, track: BasicTrackInfo, lyrics: Optional[str],
|
|||
tag.save()
|
||||
|
||||
|
||||
def setup_session(session: Session, session_id: str,
|
||||
user_agent: str) -> Session:
|
||||
def setup_session(session: Session,
|
||||
session_id: str,
|
||||
user_agent: str,
|
||||
spravka: Optional[str] = None) -> Session:
|
||||
session.cookies.set('Session_id', session_id, domain='yandex.ru')
|
||||
if spravka:
|
||||
session.cookies.set('spravka', spravka, domain='yandex.ru')
|
||||
session.headers['User-Agent'] = user_agent
|
||||
session.headers['X-Retpath-Y'] = urllib.parse.quote_plus(
|
||||
'https://music.yandex.ru')
|
||||
|
|
|
|||
Loading…
Reference in a new issue