Tuesday, August 19, 2025

环境变量设置https_proxy和http_proxy对哪些程序有效

 

环境变量 http_proxyhttps_proxy 的设置会影响依赖系统环境变量进行网络请求的程序。它们主要用于告诉程序通过指定的代理服务器访问 HTTP 或 HTTPS 网络资源。下面是一些常见的受影响程序和工具:


🧰 受影响的程序和工具

程序/工具类型是否支持环境变量代理说明
命令行工具✅ 支持curl, wget, git, apt, yum, pip 等,通常会自动读取这些环境变量。
编程语言库✅/❌ 取决于库比如 Python 的 requests 支持环境变量,Go 的 http.Client 默认不读环境变量,需手动配置。
包管理器✅ 支持npm, pip, cargo, gem 等,通常会读取代理环境变量。
浏览器❌ 不支持Chrome、Firefox 等不会读取系统的 http_proxy 环境变量,而是使用自己的代理设置。
系统更新工具✅ 支持如 Linux 的 apt-getdnfyum 等,通常会读取环境变量。
Docker / Podman✅ 支持容器构建时可以通过环境变量设置代理,影响 docker build 等命令。
Git✅ 支持Git 会读取环境变量,也可以通过 git config 设置代理。
VS Code / IDEs❌/✅ 取决于配置一些 IDE 不读取环境变量,但可以在设置中手动配置代理。

⚙️ 设置方式示例(Linux/macOS)

export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"

对于需要用户名密码的代理:

export http_proxy="http://username:password@proxy.example.com:8080"

在 Windows 上,可以通过系统环境变量设置,或在命令行中使用:

set http_proxy=http://proxy.example.com:8080

🧠 注意事项

  • 某些程序(如 Go 编写的工具)不会自动读取这些环境变量,需在代码中显式设置代理。
  • 如果你使用的是 GUI 程序(如浏览器或某些 IDE),通常需要在程序内部设置代理。
  • 有些程序还支持 NO_PROXY 环境变量,用于指定不走代理的地址(如本地地址)。

在 Windows 系统中,环境变量 http_proxyhttps_proxy 对“账户管理”和“系统更新程序”的影响是非常有限的,甚至可以说几乎无效,除非你在企业环境中做了特殊配置。下面是详细拆解:


🧑‍💻 Windows账户(登录、Microsoft账户)

  • 不受影响:Windows 登录过程、Microsoft 账户验证等操作不会读取 http_proxyhttps_proxy 环境变量。
  • 使用系统代理设置:这些流程依赖的是系统级代理设置(通过“Internet选项”或“设置 > 网络和 Internet > 代理”配置),而不是环境变量。
  • 企业场景例外:在企业部署中,可能通过组策略或注册表配置代理影响账户验证流程,但这不是通过环境变量实现的。

🔄 Windows更新程序(Windows Update)

  • 不读取环境变量:Windows Update 使用的是系统服务(svchost.exe 下的 wuauserv),它不会读取用户级的 http_proxyhttps_proxy
  • 依赖系统代理设置:它使用 WinHTTP 层的代理配置,而不是 WinINET(浏览器层)或环境变量。
  • 配置方式
    • 使用 netsh winhttp 命令设置代理,例如:
      netsh winhttp set proxy proxy-server="http://proxy.example.com:8080"
      
    • 查看当前设置:
      netsh winhttp show proxy
      

✅ 哪些 Windows 程序会读取环境变量代理?

  • PowerShell 脚本(取决于使用的模块)
  • WSL(Windows Subsystem for Linux)中的 Linux 工具
  • Git for Windows(如果是基于 MinGW 或 WSL)
  • Python、Node.js、Go 等开发环境中的工具

🧠 总结

功能/程序是否读取环境变量代理推荐配置方式
Windows账户登录❌ 不读取系统代理设置
Windows Update❌ 不读取netsh winhttp 设置
WSL/Linux工具✅ 读取export http_proxy=...
浏览器❌ 不读取浏览器内部代理设置


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

什么是FICC参照物,为何说比特币是个很好的FICC参照物

  FICC 是金融行业的一个统称,指 Fixed Income(固定收益)/ Interest Rates(利率)- Currencies(货币)- Commodities(大宗商品) 。 在实际讨论中, “FICC 参照物(FICC benchmark/reference...