2010-07-13 88 views
3

我正在从HTML表单发送几个文件到基于BaseHTTPServer的服务器。从BaseHTTPServer解析Python HTML POST数据

在我的do_POST中,我从rfile.read(length)中获得一个字符串,它看起来像某种多部分MIME字符串。谷歌对我如何将其解码为可用的东西没有帮助。

输出看起来是这样的:

-----------------------------122422713313797828591978698502 

Content-Disposition: form-data; name="MAX_FILE_SIZE" 



1000000 

-----------------------------122422713313797828591978698502 

Content-Disposition: form-data; name="and_title_input" 

等。

我已经试过email.parser

from email.parser import Parser 
p=Parser() 
msg=p.parsestr(s) 

但味精似乎没有任何接近让我我的目标 - 这不是多部分,不包含任何有效载荷。

我简化为自己解析数据 - 这肯定不是Pythonic做事的方式!

我错过了一些明显的东西吗?谷歌让我失望了吗?堆栈溢出可以保存一天吗?

回答

5

请问cgi.parse_multipart是否符合您的需求?另请参阅comp.lang.python的相关讨论。

+0

Yup - cgi.parse_multipart是答案,您的comp.lang.python链接非常丰富。感谢那。节省时间,为了更好的事情! – pictiPig 2010-07-13 12:16:51