Как получить имя файла по ссылке перед загрузкой файла? - PullRequest
1 голос
/ 21 января 2020

Например, у меня есть ссылка , и я хочу узнать имя файла до начала загрузки.

Есть много подобных вопросов, но все они сводятся к извлечению имя файла по ссылке. Что делать, если имя файла отсутствует в ссылке?

Я нашел это решение , но оно не работает в моей ситуации. Я продолжаю получать ту же ссылку, которую я передал urlopen() вместо прямой ссылки на файл.

1 Ответ

1 голос
/ 21 января 2020

Для вашего примера вы можете использовать следующее:

>>> from urllib.request import urlopen
>>> url = 'http://booksdl.org/get.php?md5=5c9afff27ee041c34c698d62bd510616&key=D3JE34WPUY7LQ11U'
>>> response = urlopen(url)
>>> response.headers.get_filename()
'[Progress in Mathematics 244] Michael Atiyah (auth.), Pavel Etingof, Vladimir Retakh, I. M. Singer (eds.) - The Unity of Mathematics_ In Honor of the Ninetieth Birthday of I.M. Gelfand (2006, Birkhäuser Basel).pdf'
...