浅谈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实现抓取网页并且解析的实例
Sep 20 Python
Cpy和Python的效率对比
Mar 20 Python
python对html代码进行escape编码的方法
May 04 Python
python使用wmi模块获取windows下的系统信息 监控系统
Oct 27 Python
python如何为被装饰的函数保留元数据
Mar 21 Python
TensorFlow Session使用的两种方法小结
Jul 30 Python
python实现整数的二进制循环移位
Mar 08 Python
django 控制页面跳转的例子
Aug 06 Python
Python Process多进程实现过程
Oct 22 Python
python deque模块简单使用代码实例
Mar 12 Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 Python
pycharm 实现复制一行的快捷键
Jan 15 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来处理多个提交任务
2006/10/09 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
关闭浏览器时提示onbeforeunload事件
2013/12/25 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
apply和call方法定义及apply和call方法的区别
2015/11/15 Javascript
JS简单实现String转Date的方法
2016/03/02 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
微信小程序文章详情页面实现代码
2018/09/10 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
python中的全局变量用法分析
2015/06/09 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
深入浅析Python的类
2018/06/22 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
Python将string转换到float的实例方法
2019/07/29 Python
Django中使用Json返回数据的实现方法
2020/06/03 Python
浅谈Python中的生成器和迭代器
2020/06/19 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
HTML5实现视频直播功能思路详解
2017/11/16 HTML / CSS
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
电气自动化自荐信
2013/10/10 职场文书
卫生安全检查制度
2014/02/04 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
销售主管竞聘书
2014/03/31 职场文书
学校安全防火方案
2014/06/07 职场文书
教师工作决心书
2015/02/04 职场文书
2015新学期家长寄语
2015/02/26 职场文书
采购员工作总结范文
2015/08/12 职场文书
导游词之西安骊山
2019/12/03 职场文书