2010-08-18 50 views
1

我正在写一个实验性的异步Web服务器。我想知道在python中解码HTTP请求的标准/“最佳”方法吗?如何在Python 3中解码HTTP请求标头和正文?

基本上,从套接字读取给我的是传入请求原始数据的字节表示;我怎么能把这些变成标准的数据类型,如字典,值列表等?有没有一个很好的通用教程如何做到这一点,以及要注意什么(特别是关于编码和浏览器细节)?

回答

1

这为我工作:

import StringIO, httplib 

ucode_data = unicode(your_raw_data ,"utf-8") 
str = StringIO.StringIO(ucode_data) 
http_header = httplib.HTTPMessage(str,0) 
http_header.readheaders() 

print http_header.__dict__ 

但它不会解码请求(例如,GET /index.html HTTP/1.2) - 它将其余为你虽然

解码