在python中发送http请求的最快方式



我正在制作一个minecraft名称狙击机器人。我有一个令牌列表,minecraftsAPI可以让你在阻止它们之前为每个令牌发送三个请求。对它的请求看起来像这样:

requests.put(f'https://api.minecraftservices.com/minecraft/profile/name/{name}',
headers={"Authorization": "Bearer " + token,
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0",
"Content-Type": "application/json"})

现在我可以使用一个简单的for循环,并以这种方式发送所有请求,但它似乎真的很慢,我很确定有办法加快它。我听说过多线程、多进程和异步,但我真的不确定其中哪一个会是最快的,以及如何以最有效的方式使用它们。如果有人能帮我解决这个问题,我将不胜感激。

我相信Python:如何同时发送多个http请求?(像叉子一样(回答你的问题!使用多线程解决这个问题是正确的,请尝试使用concurrent.futures

如果你想一次发送3个请求,那么制作一个包含3个工作线程的线程池,如下所示:

def send_mc_request(token):
...
from concurrent.futures import ThreadPoolExecutor
tokens = [token1, token2, ...]
num_requests_to_send = 3
with ThreadPoolExecutor(max_workers=num_requests_to_send) as executor:
for token in tokens:
for _ in range(num_requests_to_send):
executor.submit(send_mc_request, token)

相关内容

  • 没有找到相关文章

最新更新