我是 Linux Ubuntu 用户,在整个系统上设置代理时遇到了一些问题。
我进入 Gnome 的网络设置,然后转到网络代理设置掩码,然后我将我的代理设置为HTTP 代理* 作为手动的,然后点击适用于整个系统按钮,它会询问我的密码,然后就完成了
问题是,如果我打开 shell,网络就不工作,我无法 ping 任何东西,事实上我只得到:
andrea@andrea-Studio-1555:~$ ping google.com
PING google.com (173.194.35.7) 56(84) bytes of data.
并且光标仍然闪烁并且不继续......
为什么?我该怎么做才能使用 shell 中的代理出去?
答案1
设置 http_proxy shell 变量
输入以下命令来设置代理服务器:
$ export http_proxy=http://server-ip:port/
$ export http_proxy=http://127.0.0.1:3128/
$ export http_proxy=http://proxy-server.mycorp.com:3128/
如何为所有用户设置代理变量?
要将代理环境变量设置为全局变量,请打开 /etc/profile 文件:
# vi /etc/profile
添加以下信息:
export http_proxy=http://proxy-server.mycorp.com:3128/
保存并关闭文件。
如何使用受密码保护的代理服务器?
您可以简单地使用 wget,如下所示:
$ wget --proxy-user=USERNAME --proxy-password=PASSWORD http://path.to.domain.com/some.html
Lynx 具有以下语法:
$ lynx -pauth=USER:PASSWORD http://domain.com/path/html.file
Curl 具有以下语法:
$ curl --proxy-user user:password http://url.com/
尝试一下这些信息它可能会对你有帮助。
答案2
尝试阅读有关在 Ubuntu 中使用代理的信息这里。
您无法 ping 是意料之中的事。代理服务器用于中继(和缓存)HTTP、HTTPS、FTP 协议。每个协议都必须单独配置。当您 ping 时,它使用 ICMP 协议。大多数代理服务器不允许这样做。此外,大多数代理服务器会为您进行 DNS 解析(将 www.google.com 转换为 IP 地址);您除了第一行之外没有得到任何其他信息的原因是您无法解析域。
按照我在一开始给出的指南,然后重试。