Python 烧瓶请求调试

Python 烧瓶请求调试,python,debugging,flask,tostring,Python,Debugging,Flask,Tostring,是否有一种方法可以在flask中将请求打印为字符串以进行调试?我只想打印post请求的所有参数,而不必为请求对象编写自己的格式化程序。您可以将请求对象打印为dict并查看其中的信息,但我建议尝试一下,查看所有请求数据和更多信息可能会有所帮助。此工具栏是Django调试工具栏的端口。您可以使用该模块 但是,打印请求对象本身不会显示任何有用的信息,因此您可能需要打印request.environ 例如: from flask import Flask, Response, request impor

是否有一种方法可以在flask中将请求打印为字符串以进行调试?我只想打印post请求的所有参数,而不必为请求对象编写自己的格式化程序。

您可以将请求对象打印为dict并查看其中的信息,但我建议尝试一下,查看所有请求数据和更多信息可能会有所帮助。此工具栏是Django调试工具栏的端口。

您可以使用该模块

但是,打印请求对象本身不会显示任何有用的信息,因此您可能需要打印request.environ

例如:

from flask import Flask, Response, request
import pprint

app = Flask(__name__)

@app.route("/test")
def test():
    str = pprint.pformat(request.environ, depth=5)
    return Response(str, mimetype="text/text")

app.run(debug=True)
收益率:

{'CONTENT_LENGTH': '',
 'CONTENT_TYPE': '',
 'HTTP_ACCEPT': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
 'HTTP_ACCEPT_ENCODING': 'gzip,deflate,sdch',
 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.8,es;q=0.6',
 'HTTP_CACHE_CONTROL': 'max-age=0',
 'HTTP_CONNECTION': 'keep-alive',
 'HTTP_COOKIE': 'session=eyJsYXN0X2FwcGlkIjoiMiI',
 'HTTP_HOST': '127.0.0.1:5000',
 'HTTP_USER_AGENT': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36',
 'PATH_INFO': '/test',
 'QUERY_STRING': '',
 'REMOTE_ADDR': '127.0.0.1',
 'REMOTE_PORT': 36547,
 'REQUEST_METHOD': 'GET',
 'SCRIPT_NAME': '',
 'SERVER_NAME': '127.0.0.1',
 'SERVER_PORT': '5000',
 'SERVER_PROTOCOL': 'HTTP/1.1',
 'SERVER_SOFTWARE': 'Werkzeug/0.9.4',
 'werkzeug.request': <Request 'http://127.0.0.1:5000/test' [GET]>,
 'werkzeug.server.shutdown': <function shutdown_server at 0x10cd1b8>,
 'wsgi.errors': <open file '<stderr>', mode 'w' at 0x7f5211b911e0>,
 'wsgi.input': <socket._fileobject object at 0x1083f50>,
 'wsgi.multiprocess': False,
 'wsgi.multithread': False,
 'wsgi.run_once': False,
 'wsgi.url_scheme': 'http',
 'wsgi.version': (1, 0)}
{'CONTENT_LENGTH':'',
“内容类型”:“,
“HTTP_ACCEPT”:“text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8”,
“HTTP_ACCEPT_ENCODING”:“gzip、deflate、sdch”,
‘HTTP_ACCEPT_LANGUAGE’:‘en-US,en;q=0.8,es;q=0.6’,
“HTTP_缓存控制”:“最大年龄=0”,
“HTTP_连接”:“保持活动状态”,
“HTTP_COOKIE”:“session=eyJsYXN0X2FwcGlkIjoiMiI”,
“HTTP_主机”:“127.0.0.1:5000”,
“HTTP_USER_AGENT”:“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/37.0.2062.94 Safari/537.36”,
“路径信息”:“/test”,
“查询字符串”:“”,
“远程地址”:“127.0.0.1”,
“远程端口”:36547,
“请求方法”:“获取”,
“脚本名称”:“,
“服务器名称”:“127.0.0.1”,
“服务器端口”:“5000”,
“服务器协议”:“HTTP/1.1”,
“服务器软件”:“Werkzeug/0.9.4”,
“werkzeug.request”:,
“werkzeug.server.shutdown”:,
“wsgi.errors”:,
“wsgi.input”:,
“wsgi.multiprocess”:False,
'wsgi.multi-thread':False,
'wsgi.run_once':False,
'wsgi.url_scheme':'http',
'wsgi.version':(1,0)}