Взаимодействие с 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
Python’da eng ko‘p ishlatiladigan ma’lumot turlari
Python dasturlash tilida ma’lumotlarni saqlash va ular bilan ishlash uchun data typelar ishlatiladi.
Asosiy turlari:
● int — butun sonlar:5, -12
● float — haqiqiy sonlar (vergulli):3.14, -0.5
● str — matn:"Salom", 'Python'
● bool — mantiqiy qiymatlar:True, False
● list — ro‘yxat:[1, 2, 3]
● tuple — o‘zgarmas ro‘yxat:(4, 5, 6)
● dict — lug‘at (kalit: qiymat): {"ism": "Ali", "yosh": 20}
● set — takrorlanmas elementlar to‘plami:{1, 2, 3}
#Dasturlash#Python
💻@dasturlash_hayoti— dasturchilar hayoti va dasturlash olami haqida qiziqarli loyiha!
⚡️ Полнометражный документальный фильм про Python
На Youtube вышла документалка о том, как создавался язык программирования Python и о том, как IT-сообщество сделало его одним из основ современной кодовой базы.
Для тех, кто хочет посмотреть на русском, можно открыть ссылку в Яндекс Браузере и включить нейросетевую озвучку живыми голосами.
@ai_machinelearning_big_data
#coding#Python
📰 Marimo RCE Flaw CVE-2026-39987 Exploited Within 10 Hours of Disclosure
A critical security vulnerability in Marimo, an open-source Python notebook for data science and analysis, has been exploited within 10 hours of public disclosure, according to findings from Sysdig.The vulnerability in question is CVE-2026-39987 (CVSS score: 9.3), a pre-authenticated remote code execution vulnerability impacting all versions of Marimo prior to and including.
🔗 Source: https://thehackernews.com/2026/04/marimo-rce-flaw-cve-2026-39987.html
#opensource#python#security