Python实现的多线程http压力测试代码

发布时间 - 2026-01-10 22:55:34    点击率:

本文实例讲述了Python实现的多线程http压力测试代码。分享给大家供大家参考,具体如下:

# Python version 3.3
__author__ = 'Toil'
import sys, getopt
import threading
def httpGet(url, file):
  import http.client
  conn = http.client.HTTPConnection(url)
  conn.request("GET", file)
  r = conn.getresponse()
  #print(r.getheaders())
  while not r.closed:
    r.read(200)
  conn.close()
def Usage():
  print('''
  Options are:
  -c concurrency Number of multiple requests to make
  -u host     The host
  -f file     File on web
  Example: httpget.py -c 100 -u www.example.com -f /
  ''')
if __name__ == '__main__':
  opts, args = getopt.getopt(sys.argv[1:], "hc:u:f:")
  global u, c, f
  for op, value in opts:
    if op == '-c':
      c = int(value)
    elif op == '-u':
      u = value
    elif op == '-f':
      f = value
    elif op == '-h':
      Usage()
      sys.exit(0)
    else:
      sys.exit(0)
  threads = []
  times = c
  print('Test for ', u, f)
  print('waiting...')
  for i in range(0, times):
    t = threading.Thread(target=httpGet(u, f))
    threads.append(t)
  for i in range(0, times):
    threads[i].start()
  for i in range(0, times):
    threads[i].join()

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python URL操作技巧总结》、《Python Socket编程技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。


# Python  # 多线程  # http  # 压力测试  # python多线程http压力测试脚本  # Web压力测试工具:http_load、webbench、ab、Siege使用方法  # 使用Python的Treq on Twisted来进行HTTP压力测试  # Linux下Web性能压力测试工具http_load使用教程  # HTTP服务压力测试工具及相关术语讲解  # 操作技巧  # 进阶  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 编程技巧  # 讲述了  # file  # url  # conn  # client  # threading  # getopt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在阿里云域名上完成建站全流程?  如何确保FTP站点访问权限与数据传输安全?  微信小程序 HTTPS报错整理常见问题及解决方案  如何在万网开始建站?分步指南解析  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  如何在建站之星绑定自定义域名?  详解vue.js组件化开发实践  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  简单实现Android验证码  nginx修改上传文件大小限制的方法  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  JavaScript Ajax实现异步通信  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Python文件异常处理策略_健壮性说明【指导】  如何用PHP工具快速搭建高效网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  如何用景安虚拟主机手机版绑定域名建站?  如何在云主机快速搭建网站站点?  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Thinkphp 中 distinct 的用法解析  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  公司网站制作价格怎么算,公司办个官网需要多少钱?  Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  三星网站视频制作教程下载,三星w23网页如何全屏?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  浅述节点的创建及常见功能的实现  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  如何快速生成ASP一键建站模板并优化安全性?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  中山网站制作网页,中山新生登记系统登记流程?  php结合redis实现高并发下的抢购、秒杀功能的实例  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  浅析上传头像示例及其注意事项  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法