使用 "sudo" 命令时通过代理发出请求的问题

issue on making requests through proxy when using "sudo" command

使用 "sudo" 命令通过代理服务器发出请求时遇到问题:

如果我不使用 sudo,请求会通过代理 10.139.212.25:8080

wget http://www.proxypronto com/

Connecting to 10.139.212.25:8080... connected.

Proxy request sent, awaiting response... 403 Forbidden (Blocked by Trustwave Secure Web Gateway)

2015-12-01 13:11:47 ERROR 403: Forbidden (Blocked by Trustwave Secure Web Gateway).

如果我使用 sudo,请求不会通过代理 10.139.212.25:8080

sudo wget http://www.proxypronto com/

Resolving www.proxypronto com ... 96.31.64.186

Connecting to www.proxypronto com |96.31.64.186|:80... failed: Connection refused.

如何在使用 "sudo" 时发出通过代理的请求?

首先,尝试以下命令:

sudo http_proxy=$http_proxy wget "http://whosebug.com"

乍一看,sudoers config需要添加环境变量:

 sudo visudo

添加这些行

Defaults env_keep += "ftp_proxy http_proxy https_proxy no_proxy"

或者,使用单独的行:

Defaults  env_keep +="http_proxy"
Defaults  env_keep +="https_proxy"
Defaults  env_keep +="HTTP_PROXY"
Defaults  env_keep +="HTTPS_PROXY"