我应该返回哪种mime类型来处理Python字符串?

3
我有一个Web API,它以Python字典或列表的形式返回响应。在使用该API的Python脚本中,我会eval()这些响应。为了完整性,我想设置适当的内容类型,但不确定最好使用什么,是"text/x-python"还是"application/python",或其他内容?[编辑]我也输出JSON,主要为内部使用而使用Python作为选项。[/编辑]
2个回答

8

我怀疑目前没有一个确定的MIME类型。您是否考虑使用JSON代替?它几乎与Python字典相同,并且具有更好的工具和技术文化。


2
我同意使用JSON可能是最好的选择。而且,在从Web服务检索到任意字符串后调用eval()函数似乎有一些不安全。 - John Montgomery
我提供了两种输出选项,但最终选择了“application/json”。由于我们内部大量使用Python,因此我希望提供一些不需要外部模块即可使用的选项。 - RaySl
json模块已经包含在2.6中。此外,大多数情况下您可以评估json并获得合理的结果(尽管正如John所提到的那样,这不一定是一个好主意)。 - Aaron Maenpaa
2
同意,eval() 是一个非常非常糟糕的想法。 - b0fh

3

权威的注册表在IANA上,Python没有标准子类型。因此,不要使用类似于“application/python”的类型,但是您可以使用私有子类型,例如“text/x-python”(我在我的Debian上找到的mime-support包中)。


mime-support软件包源代码可以从以下网址下载:http://packages.debian.org/sid/mime-support。其中有一个名为mime.types的文件,它包含了映射信息。 - sourcenouveau
使用“x-”不再有效,应改为“x.”并且不鼓励使用“x.”。 - Hibou57

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接