淺談Python使用Bottle來提供一個簡單的web服務(wù)
介紹
今天有個不正經(jīng)的需求,就是要快速做一個restful api的性能測試,要求測試在海量作業(yè)數(shù)據(jù)的情況下客戶端分頁獲取所有作業(yè)的性能。因為只是一個小的的測試工作,所以就想到了Bottle框架作為Web服務(wù)器,這里就簡單說說怎樣使用Bottle框架。
安裝
pip install bottle
啟動服務(wù)
運(yùn)行下面的python腳本即可啟動一個Web服務(wù)。
from bottle import route, run, request
@route('/hello')
def hello():
return "Hello World!"
run(host='0.0.0.0', port=8080, debug=True)
測試,使用如下命令行來測試服務(wù)
curl http://localhost:8080/hello
提供Restful API
服務(wù)端
1.由于我需要根據(jù)參數(shù)來返回部分結(jié)果(比如:根據(jù)偏移量和分頁大?。?,因此可以使用Bottle的動態(tài)路來實現(xiàn),當(dāng)然用參數(shù)實現(xiàn)也是可以的。
2.這里假定我設(shè)置的請求url為:/jobs//
3.這里為了測試方便并沒有返回作業(yè)信息,而是用offset和size作為json結(jié)果返回。
下面是服務(wù)器端測試代碼
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)
總結(jié)
以上就是本文關(guān)于淺談Python使用Bottle來提供一個簡單的web服務(wù)的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
YOLOv5車牌識別實戰(zhàn)教程(四)模型優(yōu)化與部署
這篇文章主要介紹了YOLOv5車牌識別實戰(zhàn)教程(四)模型優(yōu)化與部署,在這個教程中,我們將一步步教你如何使用YOLOv5進(jìn)行車牌識別,幫助你快速掌握YOLOv5車牌識別技能,需要的朋友可以參考下2023-04-04
Django中使用 Closure Table 儲存無限分級數(shù)據(jù)
對于數(shù)據(jù)量大的情況(比如用戶之間有邀請鏈,有點三級分銷的意思),就要用到 closure table 的結(jié)構(gòu)來進(jìn)行存儲。這篇文章主要介紹了Django中使用 Closure Table 儲存無限分級數(shù)據(jù),需要的朋友可以參考下2019-06-06
pandas?數(shù)據(jù)透視和逆透視的實現(xiàn)
本文介紹了pandas?數(shù)據(jù)透視和逆透視的實現(xiàn),包含pivot()方法透視及pivot_table()方法逆透視,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
django數(shù)據(jù)庫遷移migration實現(xiàn)
這篇文章主要介紹了django數(shù)據(jù)庫遷移migration實現(xiàn),遷移任務(wù)是根據(jù)對models.py文件的改動情況,添加或者刪除表和列,下面詳細(xì)的相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-02-02

