Tornado analisar pedidos

votos
0

com tornado gostaria ser capaz de analisar totalmente os pedidos da web.

Este é o pedido

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

com esse código

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()

Eu obter apenas

b'testObject=20'

A fim de ser capaz de reagir corretamente para as codificações, tipo de conteúdo, dados, etc Como eu uso tornado por isso? há mais alguma coisa em python que eu poderia usar?

Publicado 19/12/2018 em 14:07
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

Em furacão request.bodyé sempre os dados do corpo cru. Os dados codificados em forma é analisado para as argumentsestruturas e geralmente acedida com métodos como self.get_argument('testObject').

Respondeu 19/12/2018 em 14:13
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more