tornado入门

tornado安装

在大部分*nix系统中安装Tornado非常容易--你既可以从PyPI获取(并使用easy_install或pip安装),也可以从Github上下载源码编译安装,如下所示:

curl -L -O https://github.com/facebook/tornado/archive/v3.1.0.tar.gz

tar xvzf v3.1.0.tar.gz

cd tornado-3.1.0

python setup.py build

sudo python setup.py install

Tornado官方并不支持Windows,但你可以通过ActivePython的PyPM包管理器进行安装,类似如下所示:

pypm install tornado

 

一个简单的应用

import tornado.web
import tornado.ioloop

class Myrequest(tornado.web.RequestHandler):
    def get(self):
        name=self.get_argument('name',"mei you la!")
        age=self.get_argument('age',"mei you la!")
        print('my name is************ ',name,age)

        return self.write('get my tornado%s'%name)

    def post(self):
        name=self.get_argument('name')
        gender=self.get_arguments('gender')
        print('name============',name,gender)
        return self.write(f"my post {name}{gender}")

app=tornado.web.Application(handlers=[(r'/my',Myrequest)])

if __name__=="__main__":
    app.listen(9999,'0.0.0.0')
    print("waiting for ...............")
    tornado.ioloop.IOLoop.instance().start()

get请求:

浏览器输入:http://127.0.0.1:9999/my

响应结果:get my tornado--------mei you la!-mei you la!

浏览器输入:http://127.0.0.1:9999/my?name=whoami&age=18

响应结果:get my tornado--------whoami-18

post请求:

import requests
url="http://127.0.0.1:9999/my"
body={
    'name':"Jerry",
    'gender':'male'
}
res=requests.post(url,data=body)
print(res.text)
响应结果
#my post Jerry[
'male']

 

注意,get_argument接收的参数为字符串,get_arguments接受的参数为列表!

接收get请求参数:

推荐1,Self.get_argument(name)   or  Self.get_arguments(name)

2,Self.get_query_argument(name)   or   Self.get_query_arguments(name)

接收post请求参数

推荐1,Self.get_argument(name)   or  Self.get_arguments(name)

  2,Self.get_body_argument(name)   or   Self.get_body_arguments(name)

 

 

HTTP状态码

                404 Not Found

                Tornado会在HTTP请求的路径无法匹配任何RequestHandler类相对应的模式时返回404(Not Found)响应码。

                400 Bad Request

                如果你调用了一个没有默认值的get_argument函数,并且没有发现给定名称的参数,Tornado将自动返回一个400(Bad Request)响应码。

                405 Method Not Allowed

                如果传入的请求使用了RequestHandler中没有定义的HTTP方法(比如,一个POST请求,但是处理函数中只有定义了get方法),Tornado将返回一个405(Methos Not Allowed)响应码。

                500 Internal Server Error

                当程序遇到任何不能让其退出的错误时,Tornado将返回500(Internal Server Error)响应码。你代码中任何没有捕获的异常也会导致500响应码。

                200 OK

                如果响应成功,并且没有其他返回码被设置,Tornado将默认返回一个200(OK)响应码。

 

posted @ 2019-11-24 17:26  腹肌猿  阅读(194)  评论(0编辑  收藏  举报