Skip to content

Latest commit

 

History

History
63 lines (43 loc) · 2.31 KB

File metadata and controls

63 lines (43 loc) · 2.31 KB

wreq-util

A collection of utilities to do common things with wreq.

Crates.io GitHub License Documentation Discord chat

See the crate documentation for more details.

Features

wreq-util offers a set of tower middleware and utilities designed specifically for the wreq HTTP client:

  • Emulation various mainstream browsers (Chrome, Firefox, Safari, Opera, OkHttp) and their versions.
  • Delay/JitterDelay: Add fixed or jittered delays to HTTP request with customizable strategies and predicates.

Example

The following example uses the Tokio runtime with optional features enabled by adding this to your Cargo.toml:

[dependencies]
tokio = { version = "1", features = ["full"] }
wreq = "6.0.0-rc.28"
wreq-util = "3.0.0-rc.10"

And then the code:

use wreq::Client;
use wreq_util::Emulation;

#[tokio::main]
async fn main() -> wreq::Result<()> {
    // Build a client
    let client = Client::builder()
        .emulation(Emulation::Chrome147)
        .build()?;

    // Use the API you're already familiar with
    let resp = client.get("https://www.google.com").send().await?;
    println!("{}", resp.text().await?);
    Ok(())
}

License

Licensed under either of Apache License, Version 2.0 (LICENSE or http://www.apache.org/licenses/LICENSE-2.0).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.

FAQ

For all issues and feedback, please head over to the wreq repository.