Я хочу загрузить файлы, связанные с набором ссылок в html-документе.
Ссылка может выглядеть так:
<a href="d?kjdfer87">
Но когда я нажимаю на нее в своем браузере, я загружаю следующий файл:
file2.txt
Следующий файл будет загружен через python:
opener = urllib.request.build_opener()
r = opener.open("unknown.txt")
r.read()
но как установить, что файл на самом деле называется file2.txt?
Проверьте заголовок Content-Disposition
на ответе. Он может указывать имя файла. Я считаю, что это будет в r.info().dict['Content-Disposition']
.
На самом деле это просто:
r.info().get_filename()
Заголовок Content-Disposition
в ответе HTTP - это то, что указано, что ответ должен быть загружен с определенным именем файла.
См.: Как закодировать параметр имени файла заголовка Content-Disposition в HTTP?
Я не уверен, почему вы думаете, что вам нужно имя. Вы должны называть его точно так же, как браузер, т.е. Со значением в href.