Skip to main content

wreq client wrapper

Project description

rnet_client

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

Установка

uv add rnet-client

Требуется wreq-python: uv add wreq

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

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()

Фабрика для создания сконфигурированного wreq.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.3.tar.gz (9.3 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.3-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rnet_client-0.0.3.tar.gz
  • Upload date:
  • Size: 9.3 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.3.tar.gz
Algorithm Hash digest
SHA256 8b76f432646482a1ea818488ca270208d06d878edf6c8ec459e3939b2e454d68
MD5 25da6960f74eafa537f7e7a4fd1af2ab
BLAKE2b-256 6e2f86c243d643eebc3b15975a20b0ef486586eae31ffdabf117e63865adfdaf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rnet_client-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.4 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 63e86f67747784603929867a5a2a916c904cf6d5280ecab2bc613dc324f2f010
MD5 48d9d15ba6ba68310ce7ce97bad3fab7
BLAKE2b-256 beb2f9c542c1212b71834194c42e6e83a5fe3f92d45d90dcbec2e24ef97c1312

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