Python下发布web service(三):web.py简介及使用

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!


你可能感兴趣的:(Web,python,service,网络编程,web.py)