Skip to main content

rnet client wrapper

Project description

rnet_client

Обёртка над библиотекой rnet для создания самого быстрого HTTP-клиента в Python с расширенными настройками: случайная эмуляция браузера, кастомные редиректы и оптимальные тайм-ауты. Возвращает готовый клиент с низкоуровневой эмуляцией, с настраиваемыми возможностями TLS, JA3/JA4 и HTTP/2, на базе wreq.

Установка

uv add rnet-client

Требуется RC-релиз rnet: uv add --upgrade --prerelease allow rnet

Быстрый старт

from rnet_client import get_rnet_client

# Создание клиента с настройками по умолчанию
client = get_rnet_client()

# Асинхронный запрос
async def main():
    response = await client.get("https://httpbin.org/get")
    print(await response.text())

API

get_rnet_client()

Фабрика для создания сконфигурированного rnet.Client.

Параметр Тип По умолчанию Описание
browser Browsers | list[str] | None None Семейство браузеров для эмуляции
max_redirects int 36 Максимальное количество редиректов
ignore_in_redirects list[str] | None None Подстроки URL для прерывания редиректов
connect_timeout int 15 Тайм-аут соединения (сек)
read_timeout int 20 Тайм-аут чтения (сек)
pool_idle_timeout int 90 Время простоя соединения в пуле (сек)
pool_max_idle_per_host int 15 Макс. простаивающих соединений на хост
headers dict[str, str] | None None Дополнительные заголовки
referer bool True Автоматический заголовок Referer
gzip bool True Поддержка gzip
brotli bool True Поддержка brotli
deflate bool True Поддержка deflate
zstd bool True Поддержка zstd

Browsers

Доступные семейства браузеров для эмуляции:

  • 'Chrome'
  • 'Edge'
  • 'Firefox'
  • 'SafariDesktop'
  • 'iOS'

Примеры

Эмуляция конкретного браузера

# Только Chrome
client = get_rnet_client(browser='Chrome')

# Chrome или Firefox
client = get_rnet_client(browser=['Chrome', 'Firefox'])

Кастомные редиректы

# Прерывать редиректы при переходе на определённые домены
client = get_rnet_client(
    max_redirects=10,
    ignore_in_redirects=['login.example.com', 'auth.']
)

Настройка тайм-аутов

client = get_rnet_client(
    connect_timeout=30,
    read_timeout=60,
    pool_idle_timeout=120
)

Дополнительные заголовки

client = get_rnet_client(
    headers={
        'X-Custom-Header': 'value',
        'Accept-Language': 'ru-RU,ru;q=0.9'
    }
)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rnet_client-0.0.2.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rnet_client-0.0.2-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file rnet_client-0.0.2.tar.gz.

File metadata

  • Download URL: rnet_client-0.0.2.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rnet_client-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a168c5cad8b8866526bd91e96b17aef9048047412b2184e7007f31febcb2187e
MD5 745ee3aff4d1dc4cfbc3b7c845b4acf0
BLAKE2b-256 a16c4366a77ae213a43ecdba5bfe16de80a2e447f55e538e1d4a99990120e872

See more details on using hashes here.

File details

Details for the file rnet_client-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: rnet_client-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for rnet_client-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a11cef15ed218f73f55ac18f05a4d131647a0cba3e134c85216ddc0fddef04fa
MD5 c818c84c0909f510ff854e5a498640ec
BLAKE2b-256 7529c4d2eaf8ade9259105a06b26ce6787a860b902d6da6475b4a5fc519e3cb6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page