web.py简介
web.py 是一个轻量级Python web框架,它简单而且功能大。web.py是一个开源项目。该框架由美国作家、Reddit联合创始人、RSS规格合作创造者、著名计算机黑客Aaron Swartz开发。web.py目前已被很多家大型网站所使用。web.py简单易学。
官方主页中提供了详细的教程等各种资料。
服务部署
首先,我们需要导入web.py模板。安装过程不详细介绍,参见官方文档。
import web
url声明, 此处是定义希望捕获到的访问链接的格式,以及相应的处理。以下定义表示捕获任何访问服务端http://ip:port/xxx的链接,并将传入的参数交给serviceClass类处理。
urls=(
'/(.*)','serviceClass'
)
服务内容在serviceClass类中定义,一共有两种类型服务,Get和Post。Get服务可以被搜索引擎搜到,一般用来从服务器中获取服务信息。若有重要参数需要传输到服务端时,则采用Post类型。
class serviceClass():
def GET(self,name):
#获取输入参数,url中“?”后为输入参数
name=web.input().name
if not name:
print "Hello ,"+name
else:
print "Hello world!"
启动服务,服务端口默认为8080
app=web.application(urls,globals())
app.run()
服务调用
直接在浏览器打开地址:http://localhost:8080/sayHello?name=Amy
或者 使用python的httplib模块发送http请求,代码如下:
import httplib
conn=httplib.HTTPConnection("localhost", 8080)
conn.request("GET", "/sayHello?name=Lily")
r=conn.getresponse()
print r.status, r.read()
服务端和客户端运行结果分别如下:
#服务端
Lily
127.0.0.1:5154 - - [14/Jan/2014 10:25:37] "HTTP/1.1 GET /sayHello" - 200 OK
#客户端
200 Hello,Lily!