Python Urlopen / wget: как получить правильное имя файла и расширение файла из заголовка http - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь извлечь точное имя файла и расширение / тип файла, который я получу, когда вставлю ссылку http в браузер. Я использую приведенный ниже код. Я попытался извлечь его из поля описания контента в заголовке ответа, но я не получаю правильное имя файла, там он возвращает мне текст типа "? Utf-8? B? SWtlYSAoTUVDKV8gR3JvdXBNIEJpbGxhYmxlIOKAkyBQbGFjZ" в поле имени файла в описании содержимого. Кроме того, иногда я замечал, что в ответ не возвращается поле описания контента, как получить имя файла и тип файла в таких случаях?

'''
from urllib.request import urlopen
from urllib.parse import unquote
import wget
import os   

filePath = 'D:\\local_path'
followLink = 'http://some_report_file_download/c4feb46c-8758-4266-bec6-4003168e30f8'

response = urlopen(followLink)
    print('Response header :')
    print(response.info())
    print('Follow link response code : ' + str(response.code))
    if response.code == 200:
        unquote_url = unquote(response.url)
        file_name = wget.detect_filename(unquote_url).replace('|', '_')
        print('Detected filename :'+file_name)
        filePath = os.path.join(filePath,file_name)
        if os.path.exists(filePath):
            os.remove(filePath)
        wget.download(followLink,filePath)
'''

Искал решение везде, но не получал Любые. Было бы здорово, если бы кто-нибудь помог мне решить эту проблему. Я застрял здесь в течение долгого времени. Заранее спасибо.

...