title: Getting multiple URLs concurrently with Hyper
body: <p>I am trying to adapt the <a href="https://hyper.rs/guides/client/basic/" rel="nofollow noreferrer">Hyper basic client example</a> to get multiple URLs concurrently.</p>
  
  <p>This is the code I currently have:</p>
  
  <pre><code>extern crate futures;
  extern crate hyper;
  extern crate tokio_core;
  
  use std::io::{self, Write};
  use std::iter;
  use futures::{Future, Stream};
  use hyper::Client;
  use tokio_core::reactor::Core;
  
  fn get_url() {
      let mut core = Core::new().unwrap();
      let client = Client::new(&amp;core.handle());
      let uris: Vec&lt;_&gt; = iter::repeat("http://httpbin.org/ip".parse().unwrap()).take(50).collect();
      for uri in uris {
          let work = client.get(uri).and_then(|res| {
              println!("Response: {}", res.status());
  
              res.body().for_each(|chunk| {
                  io::stdout()
                      .write_all(&amp;chunk)
                      .map_err(From::from)
              })
          });
          core.run(work).unwrap();
      }
  }
  
  fn main() {
      get_url();
  }
  </code></pre>
  
  <p>It doesn't seem to be acting concurrently (it takes a long time to complete), am I giving the work to the core in the wrong way?</p>