33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
|
|
import threading
|
||
|
|
import time
|
||
|
|
|
||
|
|
import requests
|
||
|
|
|
||
|
|
|
||
|
|
def send_multiple_requests(url, num_threads):
|
||
|
|
"""
|
||
|
|
Отправляет указанное количество запросов к заданному URL, используя многопоточность.
|
||
|
|
Обрабатывает исключения и включает паузу при ошибках.
|
||
|
|
|
||
|
|
Args:
|
||
|
|
url: URL, к которому отправлять запросы.
|
||
|
|
num_threads: Количество потоков.
|
||
|
|
"""
|
||
|
|
threads = []
|
||
|
|
for i in range(num_threads):
|
||
|
|
thread = threading.Thread(target=send_single_request, args=(url,))
|
||
|
|
threads.append(thread)
|
||
|
|
thread.start()
|
||
|
|
|
||
|
|
for thread in threads:
|
||
|
|
thread.join()
|
||
|
|
|
||
|
|
def send_single_request(url):
|
||
|
|
while True:
|
||
|
|
try:
|
||
|
|
response = requests.get(url)
|
||
|
|
print(f"Request sent! Status code: {response.status_code}")
|
||
|
|
break # Выходим из цикла после успешного запроса
|
||
|
|
except Exception as e:
|
||
|
|
print(f"An error occurred: {e}")
|
||
|
|
time.sleep(1)
|