To include reqwest
, a popular HTTP client library in Rust, in your project, you will need to add it to your Cargo.toml
file, which is the configuration file for Rust's package manager, Cargo.
Here's a step-by-step guide to install reqwest
in your Rust project:
Open the
Cargo.toml
File: This file should be in the root directory of your Rust project. If you have not created a project yet, you can create one withcargo new project_name
.Edit the
Cargo.toml
File: Addreqwest
under the[dependencies]
section. You can specify the version you want to use or you can let Cargo automatically use the latest version by omitting the version number. For example:[dependencies] reqwest = "0.11"
If you want to use the library in an async context, which is the common case, make sure you also enable the required features. The
json
feature is commonly enabled to add JSON body support.[dependencies] reqwest = { version = "0.11", features = ["json", "async-std-runtime"] }
Note that at the time of writing, "0.11" is a valid version number, but you should use the latest version available. Check reqwest on crates.io for the latest version.
Save the
Cargo.toml
File: After you’ve addedreqwest
to yourCargo.toml
file, save it.Build Your Project: Go back to your terminal and navigate to the root directory of your Rust project. Run the following command to build your project and download the
reqwest
crate along with its dependencies:cargo build
Cargo will resolve and download the dependencies automatically and compile your project.
Use Reqwest in Your Code: Now you can use
reqwest
in your Rust files. Here's a simple example of making a GET request using thereqwest
library with async/await:// Import required modules. use reqwest; use std::error::Error; #[tokio::main] async fn main() -> Result<(), Box<dyn Error>> { // Make a GET request. let response = reqwest::get("https://httpbin.org/get").await?; // Check if the request was successful. if response.status().is_success() { // Parse the response text. let text = response.text().await?; println!("Response Text: {}", text); } else { println!("Request failed with status: {}", response.status()); } Ok(()) }
In this example, we're using the
tokio
runtime for async execution, which means you need to addtokio
to yourCargo.toml
as a dependency as well:[dependencies] tokio = { version = "1", features = ["full"] } reqwest = { version = "0.11", features = ["json"] }
After completing these steps, you will have reqwest
installed and ready to use in your Rust project to make HTTP requests. Remember that reqwest
is an asynchronous library, so you'll typically use it with Rust's async/await features.