2010-07-13 54 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