浅谈Python使用Bottle来提供一个简单的web服务


Posted in Python onDecember 27, 2017

介绍

今天有个不正经的需求,就是要快速做一个restful api的性能测试,要求测试在海量作业数据的情况下客户端分页获取所有作业的性能。因为只是一个小的的测试工作,所以就想到了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.由于我需要根据参数来返回部分结果(比如:根据偏移量和分页大小),因此可以使用Bottle的动态路来实现,当然用参数实现也是可以的。
2.这里假定我设置的请求url为:/jobs//
3.这里为了测试方便并没有返回作业信息,而是用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服务的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
python写入xml文件的方法
May 08 Python
使用Python保存网页上的图片或者保存页面为截图
Mar 05 Python
python实现的正则表达式功能入门教程【经典】
Jun 05 Python
python使用threading获取线程函数返回值的实现方法
Nov 15 Python
在Python运行时动态查看进程内部信息的方法
Feb 22 Python
Python+numpy实现矩阵的行列扩展方式
Nov 29 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
python 链接sqlserver 写接口实例
Mar 11 Python
Python实现仿射密码的思路详解
Apr 23 Python
python小白切忌乱用表达式
May 29 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 Python
python编程实现12306的一个小爬虫实例
Dec 27 #Python
python导出chrome书签到markdown文件的实例代码
Dec 27 #Python
Python类的继承和多态代码详解
Dec 27 #Python
快速查询Python文档方法分享
Dec 27 #Python
Java及python正则表达式详解
Dec 27 #Python
python matplotlib画图实例代码分享
Dec 27 #Python
python爬虫使用cookie登录详解
Dec 27 #Python
You might like
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
php设计模式 Proxy (代理模式)
2011/06/26 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
php 字符串中是否包含指定字符串的多种方法
2018/04/12 PHP
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
javascript的BOM
2016/05/03 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
Javascript json object 与string 相互转换的简单实现
2016/09/27 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
python实现多层感知器
2019/01/18 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
Python numpy数组转置与轴变换
2019/11/15 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
后勤人员自我评价怎么写
2013/09/19 职场文书
护理专业的自荐信
2013/10/22 职场文书
采购类个人求职的自我评价
2014/02/18 职场文书
校外活动方案
2014/08/28 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
感谢信的格式
2015/01/21 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
自主招生自荐信范文
2015/03/04 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python