Tornado analyser les demandes

voix
0

avec une tornade Je voudrais être en mesure d'analyser pleinement les requêtes Web.

Ceci est la demande

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

avec ce code

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

Je viens d'obtenir

b'testObject=20'

Afin de pouvoir réagir correctement aux encodages, type de contenu, des données, etc. Comment j'utiliser une tornade pour cela? est autre chose en python que je pourrais utiliser?

Créé 19/12/2018 à 14:07
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Dans tornade request.bodyest toujours les données du corps brut. Les données du formulaire codé est analysé dans les argumentsstructures et le plus souvent accès à des méthodes telles que self.get_argument('testObject').

Créé 19/12/2018 à 14:13
source utilisateur

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