reqwest
curl-rust
reqwest | curl-rust | |
---|---|---|
61 | 4 | |
10,955 | 1,070 | |
1.0% | 0.2% | |
9.1 | 6.3 | |
8 days ago | 20 days ago | |
Rust | Rust | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
reqwest
-
I tried Servo, the undercover web browser engine made with Rust
We do have the networking abstracted behind a trait (so people can bring their own implementation if they want), but we need something for testing (and it's convenient for users if we provide a default option for them too).
I would also note that our networking support is a pretty thin layer around the https://docs.rs/reqwest/ crate. As well as HTTP, reqwest is handling things like cookies and form encoding for us.
-
Testing Multipart Upload Requests in Axum: Three Approaches
Lastly, there is the full integration test approach. This technique starts an actual Axum server listening on a TCP socket, and then uses Reqwest to send multipart requests:
-
Curl removes experimental HTTP back end in Rust
Most of them are built on top of hyper, including reqwest [0] (not a bad thing, they're just still hyper).
I personally wouldn't even consider hyper as an HTTP client for use in most projects, but reqwest adds a much more approachable API on top of hyper.
[0] https://github.com/seanmonstar/reqwest/blob/master/Cargo.tom...
-
Build Lightning-Fast Data Processing in Rust: From Single Thread to Parallel Performance
Reqwest Crate
-
The Linux Kernel Prepares for Rust 1.77 Upgrade
> If you are equally picky and constrain yourself to parts of the ecosystem which care about binary size, you still have more options and can avoid size issues.
What's an example of this for, say, libcurl? On my system it has a tiny number of recursive dependencies, around a dozen. [0] Furthermore if I want to write a C program that uses libcurl I have to download zero bytes of data ... because it's a shared library that is already installed on my system, since so many programs already use it.
I don't really know the appropriate comparison for Rust. reqwest seems roughly comparable, but it's an HTTP client library, and not a general purpose network client like curl. Obviously curl can do a lot more. Even the list of direct dependencies for reqwest is quite long [1], and it's built on top of another http library [2] that has its own long list of dependencies, a list that includes tokio, no small library itself.
In terms of final binary size, the installed size of the curl package on my system, which includes both the command line tool and development dependencies for libcurl, is 1875.03 KiB.
[0] I'm excluding the dependency on the ca-certificates package, since this only provides the certificate chain for TLS and lots of programs rely on it.
[1] https://crates.io/crates/reqwest/0.11.24/dependencies
[2] https://crates.io/crates/hyper/0.14.28/dependencies
- What We Need Instead of "Web Components"
-
ReductStore 1.6.0 has been released with new license and client SDK for Rust
ReductStore was rewritten from C++ to Rust a few months ago. We are delighted to be part of the Rust community and have taken a new step towards Rust with the Client SDK. The SDK is powered by reqwest and enables asynchronous integration of the database into Rust applications:
-
Rust dependency woes
From what I could turn up when googling the specific error lines (here), it has something to do with the crate mio not having support for WASM, but I don’t understand what’s being said on this thread.
-
Using Auth0 with Tauri
You can use the tauri-plugin-deep-link crate to register your app as a protocol handler. After you get your code, you can exchange it for an auth token in the same manner as the Electron guide, but for Rust you can use reqwest for the HTTP call.
-
Authentication system using rust (actix-web) and sveltekit - Automated testing
When starting out, we made some design decisions at the backend. The decision will allow us to independently test the service without interfering with the real application using a term called integration testing. We'll utilize two "dev" packages: reqwest and fake. Dev dependencies only get introduced into your application in development or during testing. In production, they are not included:
curl-rust
-
Hurl 3.0.0, run and test HTTP requests with plain text and curl
Under the hood, Hurl uses curl with Rust bindings (thanks to the awesome curl-rust crate)
-
Hurl 2.0.0, run and test HTTP requests with plain text
Hurl can't exist without a lot of crates, and particularly curl-rust https://crates.io/crates/curl. Huge thanks to the maintainers!
-
Curl Crate Build Options
Looking at commit history, cargo feature adding ntlm support has been added after latest release and is currently only on git.
-
What's everyone working on this week (39/2021)?
I was working on a similar thing. Instead of hyper, curl-rust was sufficient. You get features from libcurl like TTFB
What are some alternatives?
ureq - A simple, safe HTTP client
hyper - An HTTP library for Rust
Rocket - A web framework for Rust.
curl-rs - A curl(libcurl) mod for rust.