【发布时间】:2018-01-01 23:56:59
【问题描述】:
如何使用 Hyper 0.11 的代理发送 HTTP 请求?我有以下工作代码,可以在没有代理的情况下发送 HTTP 请求:
extern crate hyper;
extern crate tokio_core;
extern crate futures;
use futures::Future;
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://stackoverflow.com".parse().unwrap();
let work = client.get(uri).map(|res| {
res.status()
});
match core.run(work) {
Ok(status) => println!("Status: {}", status),
Err(e) => println!("Error: {:?}", e)
}
}
这不是 How to reach an HTTPS site via proxy with Hyper? 的重复,因为我询问的是 Hyper 0.11 的新版本,它具有与以前版本不兼容的完全不同的 API。
【问题讨论】:
-
您可能会从作者在 hyper 0.11 之上构建的单独的更高级别的界面中找到很多灵感,称为 reqwest github.com/seanmonstar/reqwest/blob/master/src/proxy.rs
-
Sergey,上面的例子有帮助吗?
-
我对这个话题很感兴趣,还没有尝试过。