[Karrigell学习]增加不识别的mimetype

本文介绍了在Python的mimetypes模块中如何处理favicon.ico文件的MIME类型问题。当遇到该模块无法正确识别favicon.ico的MIME类型时,可以通过手动配置解决。文章详细解释了在特定环境下(如Karrigell)如何进行配置以确保正确的MIME类型被使用。


在一般的web server中,对于请求和返回的文件名,会根据它的文件名后缀猜测它对应的mimetype类型。那么在 中提供了mimetypes 这个模块,可以做这件事。在导入这个模块后,它自动会装入几个可能有mimetype的文件,但看了看程序,全部都是下的,如:

knownfiles = [
    "/etc/mime.types",
    "/usr/local/etc/httpd/conf/mime.types",
    "/usr/local/lib/netscape/mime.types",
    "/usr/local/etc/httpd/conf/mime.types",     # Apache 1.2
    "/usr/local/etc/mime.types",                # Apache 1.3
    ]

当然在下,这些文件名就不可能找到了。在这个时候,mimetypes会缺省设置一些扩展名对应的mimetype,当然也就不全了。

这不我在中测试就发现了问题,如果我请求favicon.ico,它就会报错。如果你是windows平台,你可以在idle或 NewEdit 中试一下:

>>> import mimetypes
>>> mimetypes.guess_type('favicon.ico')
(None, None)

看到了吧,根本找不到。那么在Karrigell就会报错。但通过修改Karrigell的配置文件可以解决这个问题。只要如下修改:

[Applications]
ico=image/x-icon

这样就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值