淺談Python使用Bottle來提供一個簡單的web服務
介紹
今天有個不正經(jīng)的需求,就是要快速做一個restful api的性能測試,要求測試在海量作業(yè)數(shù)據(jù)的情況下客戶端分頁獲取所有作業(yè)的性能。因為只是一個小的的測試工作,所以就想到了Bottle框架作為Web服務器,這里就簡單說說怎樣使用Bottle框架。
安裝
pip install bottle
啟動服務
運行下面的python腳本即可啟動一個Web服務。
from bottle import route, run, request @route('/hello') def hello(): return "Hello World!" run(host='0.0.0.0', port=8080, debug=True)
測試,使用如下命令行來測試服務
curl http://localhost:8080/hello
提供Restful API
服務端
1.由于我需要根據(jù)參數(shù)來返回部分結果(比如:根據(jù)偏移量和分頁大?。虼丝梢允褂肂ottle的動態(tài)路來實現(xiàn),當然用參數(shù)實現(xiàn)也是可以的。
2.這里假定我設置的請求url為:/jobs//
3.這里為了測試方便并沒有返回作業(yè)信息,而是用offset和size作為json結果返回。
下面是服務器端測試代碼
import json from bottle import route, run, request @route('/jobs/<offset:int>/<size:int>') def get_jobs(offset, size): d = {"offset": offset, "size": size} return json.dumps(d) run(host='0.0.0.0', port=8080, debug=True)
客戶端
import httplib, json c = httplib.HTTPConnection('localhost', 8080) headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} c.request('GET', '/jobs/123/321', '{}', headers) s = c.getresponse().read().strip() print json.loads(s)
總結
以上就是本文關于淺談Python使用Bottle來提供一個簡單的web服務的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關文章
Python smtplib實現(xiàn)發(fā)送郵件功能
這篇文章主要為大家詳細介紹了Python smtplib實現(xiàn)發(fā)送郵件功能,包含文本、附件、圖片等,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05