我无法在 shell 中使用 HTTP 代理

我无法在 shell 中使用 HTTP 代理

我是 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 地址);您除了第一行之外没有得到任何其他信息的原因是您无法解析域。

按照我在一开始给出的指南,然后重试。

相关内容