Автоматизация HTTP-запросов на Python с httpx

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

pythonhttpxasyncio

👁 В процессе разработки бэкенд-сервисов часто возникает необходимость автоматизировать взаимодействие с другими сервисами через 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 #разработка

🧭 @recura_tech 🌐 VK 🌐 MAX

Скриншот кода: асинхронный пример на Python с httpx и asyncio, демонстрация параллельных GET‑запросов и вывода JSON‑ответов.
Код-скрин: пример использования httpx.AsyncClient() и asyncio.gather для параллельных запросов.

Читайте так же