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

