#http-request #http #request #client

http_req

simple and lightweight HTTP client with built-in HTTPS support

40 releases

new 0.10.3 Apr 21, 2024
0.10.2 Dec 1, 2023
0.10.1 Oct 29, 2023
0.9.2 Jul 7, 2023
0.3.1 Nov 21, 2018

#66 in HTTP client

Download history 1946/week @ 2024-01-05 2026/week @ 2024-01-12 3603/week @ 2024-01-19 3262/week @ 2024-01-26 2824/week @ 2024-02-02 2068/week @ 2024-02-09 1896/week @ 2024-02-16 2025/week @ 2024-02-23 2515/week @ 2024-03-01 1552/week @ 2024-03-08 1665/week @ 2024-03-15 2011/week @ 2024-03-22 2398/week @ 2024-03-29 2231/week @ 2024-04-05 2034/week @ 2024-04-12 1443/week @ 2024-04-19

8,440 downloads per month
Used in 48 crates (24 directly)

MIT license

115KB
2.5K SLoC

http_req

Rust Crates.io Docs.rs

Simple and lightweight HTTP client with built-in HTTPS support.

Requirements

http_req by default uses rust-native-tls, which relies on TLS framework provided by OS on Windows and macOS, and OpenSSL on all other platforms. But it also supports rus-tls.

Example

Basic HTTP GET request

use http_req::request;

fn main() {
    let mut body = Vec::new(); //Container for body of a response.
    let res = request::get("https://doc.rust-lang.org/", &mut body).unwrap();

    println!("Status: {} {}", res.status_code(), res.reason());
}

Take a look at more examples

How to use with rustls:

In order to use http_req with rustls in your project, add the following lines to Cargo.toml:

[dependencies]
http_req  = {version="^0.10", default-features = false, features = ["rust-tls"]}

License

Licensed under MIT.

Dependencies

~0.2–11MB
~128K SLoC