【问题标题】:Convert Content-Type header into file extension将 Content-Type 标头转换为文件扩展名
【发布时间】:2015-06-22 20:53:43
【问题描述】:

所以我要做的是将 HEADER 请求内容类型转换为文件扩展名。对于 html 页面“text/html; charset=utf-8”,典型的内容类型是这样的,它是来自 python 的给定响应。我已经研究过使用 mimetype 模块但没有成功,因为它看起来不适合我正在寻找的东西。

纲要:

我想把“text/html;charset=utf-8”转换成这个“.html”

典型的图像内容类型是“image/jpeg”,具体取决于图像类型,但我不太担心图像,因为大多数 url 都在路径中指定图像。这更适用于不以“blahahah.html”结尾的网站

我不想使用任何不在基础 python 库中的库。

【问题讨论】:

    标签: python http-headers mime-types content-type


    【解决方案1】:

    你可以拆分和剥离:

    r = requests.get("http://stackoverflow.com/questions/29674905/convert-content-type-header-into-file-extension")
    
    from mimetypes import guess_extension
    
    print(guess_extension(r.headers['content-type'].partition(';')[0].strip()))
    .htm
    

    【讨论】:

    • 谢谢,你是神。我终其一生都无法弄清楚guess_extension 是如何工作的。
    • @Shiftym 不用担心,guess_extension(r.headers['content-type'])alone 将适用于某些站点,但拆分应该涵盖更多基础
    • 奇怪的奇怪 - 文件扩展名在同一网站上的“.htm”和“.html”之间发生变化
    • 你在哪个网址上使用它?
    • 任何网址,请尝试 google.com。文件扩展名将与 .html 和 .htm 完全随机地不同
    猜你喜欢
    • 2019-05-01
    • 2010-12-10
    • 2016-07-22
    • 2019-10-27
    • 2021-01-20
    • 2021-04-13
    • 1970-01-01
    • 2022-11-15
    • 2013-01-07
    相关资源
    最近更新 更多