网络编程
位置:首页>> 网络编程>> Python编程>> Python实现的多线程http压力测试代码

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

作者:toil  发布时间:2021-06-30 23:47:29 

标签:Python,多线程,http

本文实例讲述了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程序设计有所帮助。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com