tornado简单实现restful接口1

tornado简单实现restful接口

tornado - 异步web框架,性能很好,生产环境下用Nginx代理

主要功能看web.py
核心io循环,高级功能看ioloop.py
模板看template.py
db看torndb.py(3.1已经挑出来做成单独库了)

get/post及json使用:

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
import tornado.ioloop
import tornado.web
import json
 
class MainHandler(tornado.web.RequestHandler):
     def get( self ):
         self .write( "Hello, World" )
 
 
# 访问: http://localhost:8888/story/sishen232
# 显示:U get story id is sishen232
class StoryHandler(tornado.web.RequestHandler):
     def get( self , story_id):
         self .write( "U get story id is " + story_id)
 
 
class AddHandler(tornado.web.RequestHandler):
     # 这里可以用get的form信息,也可以直接用curl来post json数据
 
     def post( self ):
         raw_data = self .request.body
         print "raw:" , raw_data
         res = json.loads(raw_data)
         s = res[ "num1" ] + res[ "num2" ]
         self .write(json.dumps({ "sum" :s}))
 
 
application = tornado.web.Application([
     (r "/" , MainHandler),
     (r "/story/(sishen[0-9]+)" , StoryHandler), # 正则url映射,方便get
     (r "/add" , AddHandler),
])
 
if __name__ = = "__main__" :
     application.listen( 8888 )
     tornado.ioloop.IOLoop.instance().start()

测试:

?

1
flyking@wf - vm - slave1:~$ curl - d '{"num1": 3, "num2": 5}' "http://localhost:8888/add"

结果:

?

1
{ "sum" : 8 }


转载于:https://my.oschina.net/u/2268184/blog/344774

OpenWRT路由器上设置只允许访问特定网站的防火墙规则,通常是在`UFW (Uncomplicated Firewall)`工具中操作。以下是一个基本步骤: 1. 登录到OpenWRT管理界面:通过Web浏览器访问路由器的IP地址,默认可能是`http://192.168.1.1`或`http://router_ip`,然后输入用户名和密码。 2. 安装并启用UFW:在终端中运行`su -l root`切换到root权限,然后输入`opkg update && opkg install ufw`安装UFW,之后输入`uci enable firewall`启用它。 3. 设置端口转发:如果你想限制的是HTTP(S)流量,你需要将80(HTTP)或443(HTTPS)端口映射到内网的一个服务器。例如,如果服务器在内网IP `192.168.1.100`,你可以用`ufw allow from any to any port 80:80 proto tcp`。 4. 添加URL过滤规则:UFW本身并不直接支持针对特定网站的规则,但是你可以配合`iptables` 或其他应用如`pi-hole`来阻止除指定网站外的所有请求。例如,可以使用`dnsmasq`配合`blocklist.txt`文件来阻止黑名单中的域名。 5. 配置DNS过滤:在OpenWRT上安装`dnsmasq`,并在`/etc/dnsmasq.conf`中加入`domain-needed`和`bogus-priv`选项,然后创建一个阻断列表文件`/etc/dnsmasq/blocklist.txt`,添加需要阻止的域名,然后重启`dnsmasq`服务。 ```bash sudo nano /etc/dnsmasq.conf ``` 添加以下内容: ``` domain-needed bogus-priv no-resolv dhcp-option=option:blocklists,"/etc/dnsmasq/blocklist.txt" ``` 6. 保存并重启服务:对`dnsmasq.conf`进行保存并重启服务,如`sudo service dnsmasq restart`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值