Библиотека для Java, которая выполняет обычные команды curl как вызовы методов: можно вставлять команды из Postman или browser DevTools, не написав ни строки кода HTTP-клиента.
lexiforest/curl_cffi
HTTP-клиент для Python на базе curl, который имитирует TLS-, JA3- и HTTP/2-отпечатки браузеров, помогая обходить блокировки.
- Звёзды
- 6,769
- Форки
- 570
- Открытые issues
- 46
- Последний коммит
- позавчера
Что это?
curl_cffi — это биндинг для Python к форку curl-impersonate, созданный на базе cffi. Он предоставляет API в стиле requests для синхронных и асинхронных HTTP-запросов. В отличие от requests и httpx, библиотека может устанавливать соединения, похожие на соединения настоящих браузеров, имитируя их TLS-, JA3- и HTTP/2-отпечатки.
Библиотека предлагает высокоуровневый интерфейс в стиле requests с сессиями и cookies, а также низкоуровневый API curl. Целевой браузер выбирается параметром вроде impersonate="chrome"; для целей, не связанных с браузерами, можно указать собственные строки ja3 и akamai. Также поддерживаются HTTP/3, SOCKS- и HTTP-прокси, а также WebSocket-соединения. В комплект входит CLI curl-cffi, который может загружать URL с имитацией браузера.
Готовые wheels доступны для Linux, macOS и Windows, поэтому собирать библиотеку локально не нужно. Пресеты отпечатков можно обновить командой update, не обновляя пакет.
Ключевые возможности
- 01Имитирует TLS-, JA3- и HTTP/2-отпечатки браузеров, в том числе с использованием собственных отпечатков.
- 02Предоставляет API в стиле requests с сессиями, а также синхронные и asyncio-клиенты.
- 03Поддерживает HTTP/2 и HTTP/3, а также HTTP- и SOCKS-прокси.
- 04Включает WebSocket-клиенты с имитацией браузера при рукопожатии.
- 05В комплект входит CLI curl-cffi для загрузки URL с имитацией браузера.
Сценарии использования
- Загрузка страниц с сайтов, которые блокируют запросы по TLS-отпечатку, если они отправлены через requests или httpx.
- Создание веб-скрейперов, которым нужны параллельные запросы через asyncio и ротация прокси.
- Тестирование реакции сервиса на определённые отпечатки браузеров.
- Использование Scrapy или кода на базе requests с TLS-поведением, похожим на браузерное.
Быстрый старт
- 1
Установите пакет из PyPI
pip install curl_cffi --upgrade - 2
Отправьте запрос, имитирующий Chrome
python -c "import curl_cffi; r = curl_cffi.get('https://tls.browserleaks.com/json', impersonate='chrome'); print(r.json())"
Что важно знать
- Для некоторых расширенных функций, например отпечатков http/3, требуется актуальная версия.
- Коммерческая поддержка и дополнительные отпечатки доступны в платном тарифе.
Темы
Частые вопросы
- Что такое curl_cffi?
- HTTP-клиент для Python на базе curl, который имитирует TLS-, JA3- и HTTP/2-отпечатки браузеров, помогая обходить блокировки. curl_cffi — это биндинг для Python к форку curl-impersonate, созданный на базе cffi. Он предоставляет API в стиле requests для синхронных и асинхронных HTTP-запросов. В отличие от requests и httpx, библиотека может устанавливать соединения, похожие на соединения настоящих браузеров, имитируя их TLS-, JA3- и HTTP/2-отпечатки.
- curl_cffi можно использовать бесплатно? Какая у него лицензия?
- curl_cffi распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- curl_cffi всё ещё поддерживается?
- Активно поддерживается. Последний коммит в curl_cffi — 23 окт. 2026 г..
- Для чего можно использовать curl_cffi?
- Загрузка страниц с сайтов, которые блокируют запросы по TLS-отпечатку, если они отправлены через requests или httpx. Создание веб-скрейперов, которым нужны параллельные запросы через asyncio и ротация прокси. Тестирование реакции сервиса на определённые отпечатки браузеров. Использование Scrapy или кода на базе requests с TLS-поведением, похожим на браузерное.
- Как установить curl_cffi?
- Установите пакет из PyPI: pip install curl_cffi --upgrade Отправьте запрос, имитирующий Chrome: python -c "import curl_cffi; r = curl_cffi.get('https://tls.browserleaks.com/json', impersonate='chrome'); print(r.json())"
- Где скачать curl_cffi?
- Исходный код и инструкции по установке — на GitHub: https://github.com/lexiforest/curl_cffi
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Hurl — CLI-инструмент для выполнения и тестирования HTTP-запросов, записанных в текстовом файле.
Высокопроизводительный минималистичный веб-фреймворк для Go на базе стандартного пакета net/http.
Консольный клиент и сервер WebSocket — netcat, curl и socat для подключений ws:// и wss://.
Интерактивный прокси для перехвата HTTP-трафика с поддержкой TLS и интерфейсами для консоли, командной строки и браузера.
Открытая экосистема для разработки API: отправка REST-, GraphQL-, WebSocket-, SSE-, Socket.IO- и MQTT-запросов через веб-приложение, десктопные приложения и CLI.