星期一, 10月 31, 2011

BaseHTTPServer

模組的文件簡單到不行,而網路上查到的文件大多都是跟你講怎麼弄一個簡單的HTTP Server,真的要寫一個簡單的應用時,卻沒告訴你該怎麼去parse參數。這篇有答案:PyMOTW: BaseHTTPServer
基本上,do_GET時,要用 parsed_path = urlparse.urlparse(self.path) 。而 do_POST 時,要
form = cgi.FieldStorage(
  fp=self.rfile, 
  headers=self.headers,
  environ={'REQUEST_METHOD':'POST',
                 'CONTENT_TYPE':self.headers['Content-Type'],
                 })
拿到的 form,可以用 form["your_key"] 去找到指定參數的值,但拿到的值,型態是MiniFieldStorage,要用 value 屬性去拿真正的值,也就是 form["your_key"].value 才是真正的值,該文裡也有上傳檔案處理的範例。

沒有留言: