在Python中解析原始HTTP

时间:2010-07-09 15:26:03

标签: python http parsing

我正在寻找python或相关库中的库或函数调用,这将允许我提供表示HTTP req / res的原始文本数据流,并且会吐出该信息是某种有意义的形式,如字典或列表。我不想使用一些内置类或创建一堆新对象,在我的程序中我收到一些原始数据,这正是我必须使用的。是否已经有了解决方案,或者我是否必须自己编写HTTP解析器?

编辑:让我澄清一下我到底要做什么。我正在寻找一些类似字符串的东西:

GET /index.html HTTP/1.1 \r\n
Host:www.stackoverflow.com \r\n
User-Agent:Firefox \r\n
etc.

然后寄回一些封装方法,HTTP版本,标题以及其他所有内容。

3 个答案:

答案 0 :(得分:3)

有一个纯python HTTP解析器作为http-parser项目的C / Cython优化实现的回退实现提供。

这是纯python版本:

这里是C版本和Cython包装器的来源:

答案 1 :(得分:1)

http://docs.python.org/library/httplib.html我相信这是您正在寻找的图书馆。 python 3的名称稍有改动,但其他方面都很好。

答案 2 :(得分:1)

我首先看一下WebOb。我认为标准库中的cgi模块也有一个HTTP解析器。