龙卷风分析请求

时间:2018-12-19 14:07:39

标签: python tornado

借助龙卷风,我希望能够全面分析Web请求。

这是请求

/me

带有该代码

curl -vk _POST http://127.0.0.1:3000 -H "Content-Type: application/x-www-form-urlencoded" --data "testObject=20"

我得到了

import time, threading
import tornado.ioloop
import tornado.web
import sys

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        print('get message:')
        print(str(self.request.body))
        self.write(self.request.body)

    def post(self):
        print('post message')
        print(str(self.request.body))
        self.write(self.request.body)

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ])

def startTornado():
    app = make_app()
    app.listen(my_port)
    tornado.ioloop.IOLoop.instance().start()

def stopTornado():
    tornado.ioloop.IOLoop.instance().stop()

if __name__ == "__main__":
    my_port = 3000
    print('app is listening on port',str(my_port))
    t = threading.Thread(target=startTornado)
    t.start()
    while True:
        try:
            time.sleep(0.01)
        # signal : CTRL + BREAK on windows or CTRL + C on linux
        except KeyboardInterrupt:
            stopTornado()
            t.join()
            sys.exit()

为了能够正确响应编码,内容类型,数据等。我如何使用龙卷风? python中还有什么我可以使用的吗?

1 个答案:

答案 0 :(得分:1)

在龙卷风中request.body始终是原始数据。表单编码的数据被解析为arguments结构,并且通常使用self.get_argument('testObject')之类的方法进行访问。