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

作者:kongxx 时间:2021-08-30 13:03:19 

介绍

今天有个不正经的需求,就是要快速做一个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)

来源:http://blog.csdn.net/kongxx/article/details/52208165

标签:python,bottle
0
投稿

猜你喜欢

  • XML to DDL的项目关键:与数据库同步

    2008-05-29 14:19:00
  • 浏览器tab的设计

    2008-08-11 13:03:00
  • Python简明讲解filter函数的用法

    2021-07-24 13:00:38
  • 浅析阿里巴巴前端招聘考题

    2008-01-19 09:52:00
  • python基础教程之常用运算符

    2021-09-07 00:11:47
  • Numpy 多维数据数组的实现

    2022-12-22 11:26:03
  • Python批量对word文档进行操作步骤

    2022-07-24 03:37:36
  • Python QQBot库的QQ聊天机器人

    2022-03-18 23:29:30
  • django框架模板中定义变量(set variable in django template)的方法分析

    2021-11-18 03:28:04
  • 简要介绍SQL Server 2008新的事件处理系统

    2009-12-22 08:15:00
  • 一个较新的ASP后门服务端实现代码

    2011-02-16 10:41:00
  • python神经网络学习使用Keras进行回归运算

    2023-01-30 14:08:45
  • Appium自动化测试中获取Toast信息操作

    2022-05-12 07:10:48
  • Python3写入文件常用方法实例分析

    2023-08-24 14:44:53
  • python导入坐标点的具体操作

    2023-02-24 19:59:46
  • MySQL6.0新增特性

    2010-03-25 10:08:00
  • WEB页面工具语言XML产生背景

    2008-05-29 10:52:00
  • BluePrint CSS框架0.9版发布

    2009-06-03 21:02:00
  • Python标准库06之子进程 (subprocess包) 详解

    2021-05-24 02:00:25
  • Python numpy大矩阵运算内存不足如何解决

    2022-08-06 22:38:21
  • asp之家 网络编程 m.aspxhome.com