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.1.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.1-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rnet_client-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 0ba4c4922ac0e285c6b90d7a87eecef86dfad6cdea13b0bf9a6dfb347a40e6a2
MD5 0673afcdb37b968e38d4232f8d04e31e
BLAKE2b-256 d6d8d6769100c3df3947a88676d89e50ec1ab5a62fab3aabb945f86a6da8027d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rnet_client-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b95f8a15863b7f362f6a4bc2b57fa954947b420b1cbdfa959ebd2631802e0362
MD5 0cd63c8718a17500e324e83e58c5f4a9
BLAKE2b-256 418f592ed05f37d2d9fcb0dd36b3327f53dde2d945e9c5c87235c8f0b8c539db

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