👁 В процессе разработки бэкенд-сервисов часто возникает необходимость автоматизировать взаимодействие с другими сервисами через HTTP, будь то для тестирования API или для интеграции с внешними системами. Библиотека httpx в Python позволяет легко и эффективно отправлять асинхронные запросы, что может существенно ускорить и упростить задачи.
📝 Пример автоматизации HTTP-запросов с использованием httpx:
import httpx
import asyncio
async def fetch_data(url):
async with httpx.AsyncClient() as client:
response = await client.get(url)
return response.json()
async def main():
urls = ["https://api.example.com/data1", "https://api.example.com/data2", "https://api.example.com/data3"]
tasks = [fetch_data(url) for url in urls]
results = await asyncio.gather(*tasks)
for result in results:
print(result)
if __name__ == "__main__":
asyncio.run(main())📌 Как это работает:
httpx.AsyncClient()используется для асинхронных HTTP-запросов, что позволяет выполнять запросы параллельно, не блокируя основной поток.- Метод
fetch_dataотправляет GET-запросы к переданным URL и возвращает JSON-ответ. asyncio.gatherзапускает все запросы параллельно, ускоряя обработку нескольких API-вызовов.
❗️ Этот подход идеально подходит для автоматизации взаимодействия с внешними API, например, для получения данных из разных источников, выполнения батчевых запросов или для интеграций с другими сервисами в микросервисной архитектуре.
tags: #python #разработка



