淺談Python使用Bottle來(lái)提供一個(gè)簡(jiǎn)單的web服務(wù)
介紹
今天有個(gè)不正經(jīng)的需求,就是要快速做一個(gè)restful api的性能測(cè)試,要求測(cè)試在海量作業(yè)數(shù)據(jù)的情況下客戶端分頁(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)
客戶端
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)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
Python安裝使用命令行交互模塊pexpect的基礎(chǔ)教程
Pexpect是一個(gè)純Python模塊,可以用來(lái)和ssh、ftp、passwd、telnet等命令行命令進(jìn)行交互使用,在Linux系統(tǒng)下尤其好用,下面我們就來(lái)具體來(lái)看一下Python安裝使用命令行交互模塊pexpect的基礎(chǔ)教程:2016-05-05Python 處理數(shù)據(jù)的實(shí)例詳解
這篇文章主要介紹了Python 處理數(shù)據(jù)的實(shí)例詳解的相關(guān)資料,這里主要介紹Python 常用的基礎(chǔ)知識(shí)并附實(shí)例,需要的朋友可以參考下2017-08-08Python smtplib實(shí)現(xiàn)發(fā)送郵件功能
這篇文章主要為大家詳細(xì)介紹了Python smtplib實(shí)現(xiàn)發(fā)送郵件功能,包含文本、附件、圖片等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05