gpt4 book ai didi

python - python 中仅接受来自 POST 请求的参数

转载 作者:行者123 更新时间:2023-12-01 06:09:45 27 4
gpt4 key购买 nike

有没有办法只接受来自 POST 请求的参数?如果我使用 cgi 模块中的 cgi.FieldStorage(),它会接受来自 GET 和 POST 请求的参数。

最佳答案

默认情况下,cgi 模块中的大部分内容都会合并 os.environ['QUERY_STRING']sys.stdin(格式为由os.environ['CONTENT_TYPE']建议)。因此,简单的解决方案是修改 os.environ,或者更确切地说,提供一个没有查询字符串的替代方案。

# make a COPY of the environment
environ = dict(os.environ)
# remove the query string from it
del environ['QUERY_STRING']
# parse the environment
form = cgi.FieldStorage(environ=environ)
# form contains no arguments from the query string!

Ignacio Vazquez-Abrams 建议完全避免使用 cgi 模块;现代 Python Web 应用程序通常应遵守 WSGI界面。这可能看起来像:

import webob
def application(environ, start_response):
req = webob.Request(environ)
if req.method == 'POST':
# do something with req.POST

# still a CGI application:
if __name__ == '__main__':
import wsgiref.handlers
wsgiref.handlers.CGIHandler().run(application)

关于python - python 中仅接受来自 POST 请求的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6513143/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com