- # 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()
- #该片段来自于http://www.codesnippet.cn/detail/230720134748.html
来源: http://www.codesnippet.cn/detail/230720134748.html