本文實例講述了Python實現的多線程http壓力測試代碼。分享給大家供大家參考,具體如下:
# Python version 3.3__author__ = 'Toil'import sys, getoptimport threadingdef 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程序設計有所幫助。
新聞熱點
疑難解答