Python下發布web service(三):web.py簡介及使用

web.py簡介

    web.py 是一個輕量級Python web框架,它簡單並且功能大。web.py是一個開源項目。該框架由美國做家、Reddit聯合創始人、RSS規格合做創造者、著名計算機黑客Aaron Swartz開發。web.py目前已被不少家大型網站所使用。web.py簡單易學。python

    官方主頁中提供了詳細的教程等各類資料。web

服務部署

    首先,咱們須要導入web.py模板。安裝過程不詳細介紹,參見官方文檔。瀏覽器

import web

   url聲明, 此處是定義但願捕獲到的訪問連接的格式,以及相應的處理。如下定義表示捕獲任何訪問服務端http://ip:port/xxx的連接,並將傳入的參數交給serviceClass類處理。
服務器

urls=(
'/(.*)','serviceClass'
)

   服務內容在serviceClass類中定義,一共有兩種類型服務,Get和Post。Get服務能夠被搜索引擎搜到,通常用來從服務器中獲取服務信息。如有重要參數須要傳輸到服務端時,則採用Post類型。app

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()

   服務端和客戶端運行結果分別以下:url

#服務端
Lily
127.0.0.1:5154 - - [14/Jan/2014 10:25:37] "HTTP/1.1 GET /sayHello" - 200 OK

#客戶端
200 Hello,Lily!
相關文章
相關標籤/搜索