7个版本
0.1.8 | 2024年4月17日 |
---|---|
0.1.7 | 2023年12月21日 |
#129 在 HTTP客户端
每月 25 次下载
39KB
938 行
hyper-client-io-wizard
为什么选择hyper-client-io-wizard?
本项目目标是提供一个简单直接的连接构建器,用于hyper v1 HTTP客户端hyper::client::conn。
特性
当前支持以下配置
- 直接连接(类似于 hyper_util::client::legacy)
- Socks5代理(基于 async-socks5 crate)
- TLS连接(基于 tokio-rustls crate)
- 可定制的DNS解析(基于 hickory-resolver crate)
使用方法
请参考仓库中的 examples
文件夹中的更多示例,例如 primitive-curl
命令行工具。
let io = Io::resolver_setup()
.system()
.connection_setup(target_uri)?
.connect_timeout(Some(Duration::from_millis(1000)))
.socks5_proxy_setup(proxy_uri)
.tls_setup()
.await?
.native_roots()?
.enable_all_versions()
.establish()
.await?;
let (mut request_sender, connection) = conn::http2::Builder::new(TokioExecutor::new())
.handshake(io.stream)
.await?;
tokio::spawn(connection);
let response = request_sender.send_request(request).await?;
...
许可证
本项目采用 MIT
许可证。
依赖
~19–29MB
~540K SLoC