В настоящее время я пытаюсь сделать свои запросы быстрее, используя многопоточность, но я не уверен, как сделать это так, как я хочу. Я знаю о грекестах, но они, кажется, требуют список URL. У меня есть код с начальным номером, содержащимся в URL, и я хочу, чтобы все потоки были остановлены после получения status_code 200
Я пытался выполнить это с помощью греквестов, но не смог заставить его работать. Также пробовал потоки, но не знаю, как остановить все темы после того, как рабочий URL был найден
import requests
import webbrowser
def url_request(number):
url = "http://website.com/download/" + str(number) + ".zip"
r = requests.head(url)
if r.status_code == 404:
print(url + " - 404 Not Found!")
number += 1
url_request(number)
elif r.status_code == 200:
webbrowser.open(url)
print(url + " - 200 Found!")
if __name__ == "__main__":
url_request(int(input("Starting number: ")))
Я хочу, чтобы код выполнял сразу несколько request.head
с номером после «Стартового номера» и остановится после того, как один из потоков найдет URL с кодом состояния 200.