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()
服务调用
直接在浏览器打开地址:
或者 使用python的httplib模块发送http请求,代码如下:
import httplibconn=httplib.HTTPConnection("localhost", 8080)conn.request("GET", "/sayHello?name=Lily")r=conn.getresponse()print r.status, r.read()
服务端和客户端运行结果分别如下:
#服务端Lily127.0.0.1:5154 - - [14/Jan/2014 10:25:37] "HTTP/1.1 GET /sayHello" - 200 OK#客户端200 Hello,Lily!