An ergonomic Rust HTTP client with advanced TLS and HTTP/2 fingerprinting for browser emulation.
wreq is an ergonomic and modular HTTP client library for the Rust programming language, built for advanced web scraping and automation tasks. It solves the problem of modern bot protection systems by providing fine-grained control over TLS and HTTP/2 fingerprints, allowing developers to emulate specific browsers and devices precisely.
Rust developers building web scrapers, automation tools, or security testing applications that need to bypass WAFs and bot detection mechanisms by mimicking legitimate browser traffic.
Developers choose wreq for its unparalleled control over low-level HTTP protocol details and its dedicated focus on browser emulation, offering capabilities like JA3/JA4 fingerprinting and header case preservation that are essential for reliable automation in heavily protected web environments.
An ergonomic Rust HTTP Client with TLS fingerprint
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides fine-grained TLS and HTTP/2 extension emulation for precise browser fingerprinting, as detailed in the README's focus on JA3/JA4 and Akamai emulation.
Maintains original HTTP/1 header casing to avoid WAF rejections, addressing a specific limitation noted in the README compared to other Rust HTTP clients.
Includes over 100 pre-configured browser emulation profiles via the wreq-util companion library, simplifying setup for common device simulations.
Leverages the Tower middleware ecosystem for extensible request processing, allowing custom interceptors and handlers as mentioned in the features list.
Requires installing BoringSSL and managing symbol conflicts with openssl-sys, as highlighted in the building instructions, which adds setup overhead.
Currently in release candidate versions (e.g., 6.0.0-rc.28), indicating potential breaking changes and less suitability for production deployments.
As a hard fork of reqwest, it may have fewer community contributions, documentation resources, and long-term support compared to more established libraries.