import getpass import threading import requests import time import sys from requests.auth import HTTPBasicAuth rate = int(sys.argv[1]) # /second if rate == 0: burst = True print("Burst mode activated") else: burst = False sleep = 1 / rate print(f"Beginning load test at {rate} calls/second") url = 'https://button.ducoterra.net/' # url = 'http://button.localhost/' def timer(func, *args, **kwargs): then = time.time() func(*args, **kwargs) print(time.time() - then) # init = requests.get('https://button.ducoterra.net/button/') init = requests.get(url) csrf = init.cookies.get('csrftoken') session = init.cookies.get('sessionid') me = lambda num: print(num) or print(requests.post(url, headers = {'Content-Type': 'application/json', 'X-CSRFToken': csrf, 'Cookie': f'csrftoken={csrf}; sessionid={session}'}).text) threadme = lambda num: threading.Thread(target=timer, args=(me, num)).start() if burst: [threadme(num) for num in range(0,100)] else: num = 1 while True: threadme(num) num += 1 time.sleep(sleep)