Expand description
A blocking Client API.
The blocking Client will block the current thread to execute, instead
of returning futures that need to be executed on a runtime.
Conversely, the functionality in reqwest::blocking must not be executed
within an async runtime, or it will panic when attempting to block. If
calling directly from an async function, consider using an async
reqwest::Client instead. If the immediate context is only
synchronous, but a transitive caller is async, consider changing that caller
to use tokio::task::spawn_blocking around the calls that need to block.
§Optional
This requires the optional blocking feature to be enabled.
§Making a GET request
For a single request, you can use the get shortcut method.
let body = reqwest::blocking::get("https://www.rust-lang.org")?
.text()?;
println!("body = {body:?}");Additionally, the blocking Response struct implements Rust’s
Read trait, so many useful standard library and third party crates will
have convenience methods that take a Response anywhere T: Read is
acceptable.
NOTE: If you plan to perform multiple requests, it is best to create a
Client and reuse it, taking advantage of keep-alive connection pooling.
§Making POST requests (or setting request bodies)
There are several ways you can set the body of a request. The basic one is
by using the body() method of a RequestBuilder. This lets you set the
exact raw bytes of what the body should be. It accepts various types,
including String, Vec<u8>, and File. If you wish to pass a custom
Reader, you can use the reqwest::blocking::Body::new() constructor.
let client = reqwest::blocking::Client::new();
let res = client.post("http://httpbin.org/post")
.body("the exact body that is sent")
.send()?;§And More
Most features available to the asynchronous Client are also available,
on the blocking Client, see those docs for more.
Structs§
- Body
- The body of a
Request. - Client
- A
Clientto make Requests with. - Client
Builder - A
ClientBuildercan be used to create aClientwith custom configuration. - Request
- A request which can be executed with
Client::execute(). - Request
Builder - A builder to construct the properties of a
Request. - Response
- A Response to a submitted
Request.
Functions§
- get
- Shortcut method to quickly make a blocking
GETrequest.