TGViewer
Python Academy Python Academy @python_academy · 44.2K subscribers
Post #1527 8.89K
Взаимодействие с HTTP с помощью curl_cffi

Что такое curl_cffi?

curl_cffi - это обертка над библиотекой libcurl, предоставляющая Python-разработчикам удобный интерфейс для отправки HTTP-запросов, управления сессиями и обработки ответов.

Плюсы использования curl_cffi:
- Поддерживает подделку отпечатков JA3/TLS и http2.
- Гораздо быстрее, чем requests/httpx, сопоставимо с aiohttp/pycurl.
- Одинаковый синтаксис как и у requests.
- Предварительно скомпилирован, поэтому вам не нужно компилировать его на вашем компьютере.
- Поддерживает asyncio с поворотом прокси для каждого запроса.
- Поддерживает http 2.0, что не предоставляет requests.

Пример использования curl_cffi:

from curl_cffi import Curl

# Создание объекта Curl
curl = Curl()

# Установка URL
curl.setopt(Curl.URL, 'https://api.example.com')

# Выполнение GET-запроса
curl.perform()

# Получение ответа
response = curl.getvalue()

# Вывод результата выполнения запроса
print(response)


В данном примере мы создаем объект Curl, устанавливаем URL и выполняем GET-запрос. Результат запроса сохраняется в переменной response.

Настройка параметров запроса:

from curl_cffi import Curl

# Создание объекта Curl
curl = Curl()

# Установка URL
curl.setopt(Curl.URL, 'https://api.example.com')

# Установка параметров запроса
curl.setopt(Curl.HTTPHEADER, ['Content-Type: application/json'])
curl.setopt(Curl.POSTFIELDS, '{"key": "value"}')

# Выполнение POST-запроса
curl.perform()

# Получение ответа
response = curl.getvalue()

# Вывод результата выполнения запроса
print(response)


В данном примере мы добавляем заголовок и данные для POST-запроса. Метод setopt используется для установки различных параметров запроса.

Модуль curl_cffi обладает богатым функционалом, таким как управление cookie, обработка редиректов, аутентификация, и многое другое.

Надеюсь, что вы найдете модуль curl_cffi полезным в ваших проектах, требующих взаимодействия с внешними серверами по протоколу HTTP. Для более подробной информации ознакомьтесь с документацией.

#python #curl_cffi
  • 👍 20
  • ❤ 3
  • 🔥 2
More from @python_academy
  1. Oct 2, 2026Scrapy: Мощный инструмент для веб-скрапинга на Python Scrapy - это высокоэффективная библи…
  2. Oct 1, 2026⁠Упаковка параметров с помощью urlencode Довольно часто приходится работать с разнообразны…
  3. Sep 30, 2026Асинхронные запросы с aiohttp Модуль aiohttp представляет из себя асинхронный HTTP клиент/…
  4. Sep 29, 2026Typeshed Typeshed — это коллекция заглушек (stubs) для стандартной библиотеки Python, библ…
  5. Sep 28, 2026SCons SCons — это современная система сборки программного обеспечения, основанная на Pytho…
  6. Sep 27, 2026Что такое глубокая копия? Глубокая копия используется для хранения значений, которые уже с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →