我似乎无法弄清楚如何使用WSGI访问POST数据.我在wsgi.org网站上尝试了这个例子,它没有用.我现在正在使用Python 3.0.请不要推荐WSGI框架,因为这不是我想要的.
我想弄清楚如何将它放入fieldstorage对象.
假设您正尝试将POST数据添加到FieldStorage对象中:
# env is the environment handed to you by the WSGI server. # I am removing the query string from the env before passing it to the # FieldStorage so we only have POST data in there. post_env = env.copy() post_env['QUERY_STRING'] = '' post = cgi.FieldStorage( fp=env['wsgi.input'], environ=post_env, keep_blank_values=True )
body= '' # b'' for consistency on Python 3.0 try: length= int(environ.get('CONTENT_LENGTH', '0')) except ValueError: length= 0 if length!=0: body= environ['wsgi.input'].read(length)
请注意,WSG尚未完全为Python 3.0指定,并且许多流行的WSGI基础结构尚未转换(或已经转换为2to3d,但未经过适当测试).(即使wsgiref.simple_server也不会运行.)你现在正忙着在3.0上做WSGI.
这对我有用(在Python 3.0中):
import urllib.parse post_input = urllib.parse.parse_qs(environ['wsgi.input'].readline().decode(),True)