#http-proxy #env-var #no-proxy #https-proxy

proxyvars

HTTP_PROXY、HTTPS_PROXY和NO_PROXY环境变量的解析器,NO_PROXY变量采用类似于Go的匹配器

4个版本

0.2.0 2024年5月3日
0.1.3 2023年4月21日
0.1.1 2023年4月21日
0.1.0 2023年4月21日

#25#http-proxy

Download history 2/week @ 2024-04-24 132/week @ 2024-05-01 23/week @ 2024-05-08 6/week @ 2024-05-15 14/week @ 2024-05-22 88/week @ 2024-05-29 83/week @ 2024-06-05 31/week @ 2024-06-12 1/week @ 2024-06-19 5/week @ 2024-06-26 9/week @ 2024-07-03 25/week @ 2024-07-10 2/week @ 2024-07-17 25/week @ 2024-07-24 44/week @ 2024-07-31

97 每月下载量

MIT 许可证

19KB
341

proxyvars

proxyvars是HTTP_PROXYHTTPS_PROXYNO_PROXY环境变量的解析器,基于Go的实现NO_PROXY匹配器。

此crate可以

  • 读取HTTPS_PROXYHTTP_PROXY及其小写变体
  • 读取、解析并评估针对给定URL的NO_PROXY环境变量
    • 支持CIDR
    • 支持IPv4/IPv6地址和可选端口
    • 支持主机名和可选端口
    • 支持通配符

用法

if let Some(no_proxy) = proxyvars::no_proxy() {
    // This environment has NO_PROXY defined
    if no_proxy.matches("https://company.com") {
        // We should not use a proxy for this URL
    } else {
        // We should use a proxy for this URL, which are available at:
        let https_proxy = proxyvars::https_proxy();
        let http_proxy = proxyvars::http_proxy();
    }
}

说明

  1. NO_PROXY匹配器的实现受到位于http/httpproxy/proxy.go的Go实现的极大启发。
  2. 在此crate的范围内不执行代理。

依赖项

~740KB
~12K SLoC