Look at Hyper .
Submitting a GET request is as simple as that.
let client = Client::new(); let res = client.get("http://example.domain").send().unwrap(); assert_eq!(res.status, hyper::Ok);
You can find more examples in the documentation .
Edit : It seems that Hyper has become a bit more complicated since they started using Tokio . Here is the updated version.
extern crate futures; extern crate hyper; extern crate tokio_core; use std::io::{self, Write}; use futures::{Future, Stream}; use hyper::Client; use tokio_core::reactor::Core; fn main() { let mut core = Core::new().unwrap(); let client = Client::new(&core.handle()); let uri = "http://httpbin.org/ip".parse().unwrap(); let work = client.get(uri).and_then(|res| { println!("Response: {}", res.status()); res.body().for_each(|chunk| { io::stdout() .write_all(&chunk) .map_err(From::from) }) }); core.run(work).unwrap(); }
And here are the required dependencies.
[dependencies] futures = "0.1" hyper = "0.11" tokio-core = "0.1"
source share