2 个不稳定版本
0.7.0 | 2024 年 1 月 12 日 |
---|---|
0.6.0 | 2023 年 10 月 14 日 |
#157 在 HTTP 客户端
6,566 每月下载量
用于 odd-box
13KB
138 行
hyper-hickory
这个 crate 提供了一个 HTTP 连接器,用于 hyper,它使用 hickory 的快速和高级 DNS 解析器,而不是 hyper 的默认线程池实现。
用法
use http_body_util::Full; // Or your preferred Body implementation
use hyper::body::Bytes;
use hyper_hickory::HickoryResolver;
use hyper_util::{client::legacy::Client, rt::TokioExecutor};
let connector = HickoryResolver::default().into_http_connector();
let client: Client<_, Full<Bytes>> = Client::builder(TokioExecutor::new()).build(connector);
解析器
有一个 HickoryResolver
解析器,可以由 AsyncResolver
构建,使用 HickoryResolver::from_async_resolver
。
对于大多数您愿意使用标准 TokioRuntimeProvider
的情况,应使用 TokioHickoryResolver
,并且可以更容易地构建。
连接器类型
有两种连接器
HickoryHttpConnector<C>
,它是HttpConnector<HickoryResolver<C>>
的包装。通过HickoryResolver::into_http_connector
创建。TokioHickoryHttpConnector
,它是HickoryHttpConnector<TokioConnectionProvider>
的别名。
山核桃选项
该箱具有其他功能,可以在hickory-resolver中切换功能,包括dns-over-openssl
、dns-over-native-tls
和dns-over-rustls
(与rustls-webpki
或rustls-native
结合)用于DNS-over-TLS、dns-over-https-rustls
用于DNS-over-HTTPS,以及dnssec-openssl
和dnssec-ring
用于DNSSEC。
关于DNSSEC的说明
在此crate的0.5.0版本之前启用DNSSEC功能时,DNSSEC功能从未实际使用过。自那时以来已做了更改,并且可能由于hickory-resolver在未签名记录上失败而导致突然的破坏性行为。
此行为将持续到hickory中的DNSSEC得到改进。
依赖关系
~10–24MB
~379K SLoC