当前位置:  开发笔记 > 编程语言 > 正文

从WSGI访问POST数据

如何解决《从WSGI访问POST数据》经验,为你挑选了3个好方法。

我似乎无法弄清楚如何使用WSGI访问POST数据.我在wsgi.org网站上尝试了这个例子,它没有用.我现在正在使用Python 3.0.请不要推荐WSGI框架,因为这不是我想要的.

我想弄清楚如何将它放入fieldstorage对象.



1> Mike Boers..:

假设您正尝试将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
)



2> bobince..:
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.



3> 小智..:

这对我有用(在Python 3.0中):

import urllib.parse

post_input = urllib.parse.parse_qs(environ['wsgi.input'].readline().decode(),True)

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有