code
import tornado.ioloop
import tornado.web
import time
import json
class testget1(tornado.web.RequestHandler):
def get(self):
self.write("Hello world!")
class testget2(tornado.web.RequestHandler):
def get(self):
try:
arg1 = int(self.get_argument("arg1"))
arg2 = int(self.get_argument("arg2"))
except:
result = {
"errno":-1,
"timestamp":int(time.time()),
}
self.write(json.dumps(result))
return
self.write('arg1:{} arg2:{}'.format(arg1,arg2))
class testpost(tornado.web.RequestHandler):
def post(self):
try:
arg1 = int(self.get_argument("arg1"))
arg2 = int(self.get_argument("arg2"))
except:
result = {
"errno":-1,
"timestamp":int(time.time()),
}
self.write(json.dumps(result))
return
self.write('arg1:{} arg2:{}'.format(arg1,arg2))
def make_app():
return tornado.web.Application([
(r"/",testget1),
(r"/testget2",testget2),
(r"/testpost",testpost)
])
if __name__ == "__main__":
app = make_app()
# 监听端口
app.listen(11111)
# 开启服务器
tornado.ioloop.IOLoop.current().start()
get 与 post的区别?
1.GET请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,POST把提交的数据则放置在是HTTP包的包体中。
2.GET的长度受限于url的长度,而url的长度限制是特定的浏览器和服务器设置的,理论上GET的长度可以无限长。
3.POST是没有大小限制的,HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力
4.在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Request.Form。
5.POST的安全性要比GET的安全性高
1、post和get的选择?
私密性的信息请求使用post。
查询信息和可以想要通过url分享的信息使用get。