Итак, прочитав много статей, я пошел следующим образом:
Используя эту библиотеку
со следующим кодом:
import curio
import curio_http
import json
import requests
async def fetch_one(url):
async with curio_http.ClientSession() as session:
params = {sample}
response = await session.post(url, data=json.dumps(params))
content = await response.text()
return response, content
async def main():
tasks = []
for x in range(300):
task = await curio.spawn(fetch_one(sample))
tasks.append(task)
for task in tasks:
response, content = await task.join()
#response = await task.join()
print('GET %s' % response.url)
print(content)
print()
if __name__ == '__main__':
curio.run(main())
И это отлично работает!