首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tornado分析请求

Tornado分析请求
EN

Stack Overflow用户
提问于 2018-12-19 22:07:39
回答 1查看 83关注 0票数 0

与龙卷风,我希望能够充分分析网络请求。

这是请求

代码语言:javascript
复制
curl -vk _POST http://127.0.0.1:3000 -H "Content-Type: application/x-www-form-urlencoded" --data "testObject=20"

使用该代码

代码语言:javascript
复制
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()

我得到的只是

代码语言:javascript
复制
b'testObject=20'

为了能够正确地对编码、内容类型、数据等做出反应,我该如何使用tornado呢?在python中还有什么我可以使用的吗?

EN

回答 1

Stack Overflow用户

发布于 2018-12-19 22:13:04

在tornado中,request.body总是原始的主体数据。表单编码的数据被解析成arguments结构,通常使用self.get_argument('testObject')等方法进行访问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53852959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档