当前位置: 首页 > 工具软件 > karrigell > 使用案例 >

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

东方灵均
2023-12-01


在一般的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

这样就行了

 类似资料: