我更改了我的机器的代理来连接到网络,但是后来当我回到我的家庭网络时,虽然 chrome 和其他浏览器无法连接,但我可以从终端 ping 站点甚至安装 ruby 包。
鉴于此,终端如何通过代理工作?
更糟糕的是,由于网络改变,代理不再使用。
答案1
当您提到代理时,通常仅指 HTTP(和 HTTPS),有时也指 FTP。Ping 不使用 HTTP,而是使用 ICMP。这意味着它不受您设置的任何 HTTP 代理的影响。
其他工具,例如获得(命令行 HTTP 下载程序),请尊重http_proxy
环境变量。更改 GUI 设置时,此变量可能会或可能不会设置。您可以使用命令轻松检查env
。
一些命令行工具不使用此变量,而是需要在每次启动工具时明确指定代理(作为参数)。
答案2
我认为这值得一个更简单的答案,所以这里就有答案。
如果您进入网络设置,您将看到在配置代理时可以指定协议和端口。
Web 浏览器通常使用 Web 服务器的语言,即 HTTP。它们通常也可以与 FTP 服务器通信。HTTPS 只是 HTTP 的加密形式。
从对话框中可以看出,代理设置仅适用于 HTTP、HTTPS、FTP 和 SOCKS 协议。此外,并非所有实用程序都遵循这些设置。但主流 Web 浏览器会遵循这些设置。
因此,当您将计算机带回家并将其插入家庭网络时,代理主机将不再可访问,因此 Web 浏览器将无法浏览。
但是,其他应用程序(如 ping)可以正常工作,因为它们根本不使用代理。事实上,正如许多人指出的那样,ping 使用 ICMP,这是一种完全不同的协议。Ping 会告诉您您的计算机仍然能够访问网络上的计算机。正如您所发现的,其他不使用 HTTP 或不遵守此处网络代理设置的实用程序也可能正常工作。