简单版本的httpserver

json模块可能需要下载,详细方法请百度,增加个人的能力

主要是json的,接收到非json的http请求,返回"415, "Only json data is supported."

coding: utf-8

from http.server import BaseHTTPRequestHandler,HTTPServer
import cgi
import jsondef Cjson(datas):try:messages = json.loads(datas)except ValueError:return Falsereturn True
class TodoHandler(BaseHTTPRequestHandler):"""A simple TODO serverwhich can display and manage todos for you."""# Global instance to store todos. You should use a database in reality.TODOS = []def do_GET(self):# return all todosif self.path != '/':self.send_error(404, "File not found.")return# Just dump data to json, and return itmessage = json.dumps(self.TODOS)self.send_response(200)self.send_header('Content-type', 'application/json')self.end_headers()self.wfile.write(bytes(message,'utf-8'))def do_POST(self):"""Add a new todoOnly json data is supported, otherwise send a 415 response back.Append new todo to class variable, and it will be displayedin following get request"""ctype, pdict = cgi.parse_header(self.headers['content-type'])if ctype == 'application/json':length = int(self.headers['content-length'])dd = self.rfile.read(length)post_values =Cjson(str(dd,'UTF-8'))if post_values == False:print(dd)self.TODOS.append(str(dd, 'UTF-8'))self.send_response(200)self.send_header(b'Content-type', b'application/json')self.end_headers()jss = {"code": 200,"msg": "OK",}r = json.dumps(jss)self.wfile.write(bytes(r, 'utf-8'))if post_values == True:self.TODOS.append(json.loads(str(dd,'utf-8')))self.send_response(200)self.send_header(b'Content-type', b'application/json')self.end_headers()jss = {"code": 200,"msg": "OK",}r = json.dumps(jss)self.wfile.write(bytes(r, 'utf-8'))else:length = int(self.headers['content-length'])post_values = self.rfile.read(length)self.send_error(415, "Only json data is supported.")returnif __name__ == '__main__':# Start a simple server, and loop foreverserver = HTTPServer(('localhost', 8888), TodoHandler)print("Starting server, use <Ctrl-C> to stop")server.serve_forever()

jmeter实践开始

1.在本地运行,注意不要将线程设置太大,机器抗不住,只能重启电脑了

2.主要用户简单的实战,看看自己的成果

  1. 运行上面的代码

  2. 创建线程组

  • Number of threads 1
  • Ramp-up Period 1
  • forever 1

  1. 创建http请求(第一种)
  • 发送表单
  • 内容看下面截图

  1. 创建http 请求头

    • 'Content-type' 'application/json'
    • 内容看下图

创建聚合报告

查看结果树

创建汇总报告

开始执行

post的结果

  • http://loaclhost:8888/
  • 看下图

疑问解答QQ群:群1:588402570,群2 772588688

 

群1 限制人数后,请申请群2

 

关注该公众号:持续更新Jmeter相关内容

 

转载于:https://www.cnblogs.com/xiaoxiao-niao/p/9939749.html

jmeter简单实践(九)相关推荐

  1. 【性能测试】功能简单的小说网站(Jmeter+fiddler实践)

    初学Jmeter,主要是学习它的性能测试内容,因为Jmeter可以很好地模拟请求的人数和次数(模拟实际情况的高并发),这篇文章主要是介绍配置环境.下载安装以及对一个功能非常简单(没有登录编辑等操作)的 ...

  2. 贪心算法简单实践 -- 分糖果、钱币找零、最多区间覆盖、哈夫曼编解码

    1. 贪心算法概览 贪心算法是一种算法思想.希望能够满足限制的情况下将期望值最大化.比如:Huffman编码,Dijkstra单源最短路径问题,Kruskal最小生成树 等问题都希望满足限制的情况下用 ...

  3. 基于Spark的机器学习实践 (九) - 聚类算法

    0 相关源码 1 k-平均算法(k-means clustering)概述 1.1 回顾无监督学习 ◆ 分类.回归都属于监督学习 ◆ 无监督学习是不需要用户去指定标签的 ◆ 而我们看到的分类.回归算法 ...

  4. Dubbo入门(2) - 简单实践

    作者:不洗碗工作室 - Marklux 出处:Dubbo入门(2) - 简单实践 版权归作者所有,转载请注明出处 在了解什么是分布式框架之后,我们需要上手实践一下,来了解整个系统是如何运作起来的. 本 ...

  5. Redis的简单实践

    Redis的简单实践 文章目录 Redis的简单实践 前言 Redis简介 Redis基本操作命令 Java使用Redis 使用IDEA搭建Redis项目 使用Jedis进行简单增删改查 使用Jedi ...

  6. 深度学习——RNN原理与TensorFlow2下的IMDB简单实践

    在深度学习中,RNN是处理序列数据的有效方法之一,也是深度的一种很好的体现,本文将简单介绍RNN的工作方式,以及针对IMDB数据集的简单实践 RNN简介 RNN(Recurrent Neural Ne ...

  7. Spring 学习二-----AOP的原理与简单实践

    一.Spring  AOP的原理 AOP全名Aspect-Oriented Programming,中文直译为面向切面(方面)编程.何为切面,就比如说我们系统中的权限管理,日志,事务等我们都可以将其看 ...

  8. C++(11)--编程实践1-经典养成类游戏简单实践

    经典养成类游戏简单实践-小公主养成记 <老九学堂C++课程>学习笔记.<老九学堂C++课程>详情请到B站搜索<老九零基础学编程C++入门> ------------ ...

  9. MachineLearning(8)-PCA,LDA基础+sklearn 简单实践

    PCA,LDA基础+sklearn 简单实践 1.PCA+sklearn.decomposition.PCA 1.PCA理论基础 2.sklearn.decomposition.PCA简单实践 2.L ...

  10. MachineLearning(7)-决策树基础+sklearn.DecisionTreeClassifier简单实践

    sklearn.DecisionTreeClassifier决策树简单使用 1.决策树算法基础 2.sklearn.DecisionTreeClassifier简单实践 2.1 决策树类 2.3 决策 ...

最新文章

  1. 回顾2009,展望2010。
  2. 百度李彦宏携三人赴港二次上市,网站推广之下百度的未来愈加可期
  3. pytest fixture执行顺序
  4. linux 目标文件格式,Linux工具 - NM目标文件格式分析
  5. C++ auto关键字
  6. django后台接收form-data 格式上传的文件
  7. [转载]MIT牛人解说数学体系
  8. vue --- [全家桶] Vuex
  9. C++之STL理论基础
  10. armeabi和armeabi-v7a的区别
  11. 每日一题(9)—— 写一个标准宏MIN,这个宏输入两个参数并返回较小的一个
  12. java 生产者消费者 demo_生产者与消费者--demo1---bai
  13. OpenCV实战4: HOG+SVM实现行人检测
  14. 关于举办“全国大学生大数据技能竞赛”的通知
  15. Oracle 10g 关于控制文件的等待事件
  16. redis视频教程 java_Redis高级运用视频教程
  17. Intelij的IDEA启动报错!parent directory is read-only or the user lacks necessary permissions
  18. jQuery 选择城市,显示对应的即时时区时间
  19. java让字体闪动_java 字体闪烁
  20. 学习型红外遥控器的FPGA设计与实现

热门文章

  1. TLS1.3对CIP的影响(对密码套件的解释)
  2. TcpTrace实现的基本原理
  3. Vue.js 代码优化浅谈
  4. keepalived高可用配置注意事项
  5. Windows Azure 系列-- Azure Queue的操作
  6. cocos2dx 3.x 开发环境搭建
  7. FORTRAN里的SCALE函数
  8. 理解 Delphi 的类(十) - 深入方法[21] - 开放数组参数
  9. man services时“没有services的手册页条目”→Centos 安装man帮助文档包
  10. win10安装ipython_win10下安装Anaconda的教程(python环境+jupyter_notebook)