Por que sudo curl ignora as configurações do proxy?

$ echo $http_proxy http://my.proxy.com $ curl -v http://files.com/a.txt * About to connect() to proxy my.proxy.com # Correct downloading $ sudo echo $http_proxy http://my.proxy.com $sudo curl -v http://files.com/a.txt # Hanging. 

O último command não usa o proxy. Por quê?

 $su $curl -v http://files.com/a.txt 

Também está funcionando corretamente.

  • Qual a diferença entre sudo su - e sudo -i?
  • sudo make install: permissão negada
  • Como fazer sudo apt-get em uma máquina AIX
  • No Mac, como faço paira eu se entregair a um número contínuo de privates?
  • Como posso adicionair um user regulair ao file sudoers?
  • Sudo su vs su linux
  • me adicione de volta à list de sudo'ers
  • Sudo sem senha quando conectado com SSH keys privadas
  • 2 Solutions collect form web for “Por que sudo curl ignora as configurações do proxy?”

    Isso não faz o que você acha que faz:

     sudo echo $http_proxy 

    Com isso, $http_proxy é expandido pelo shell antes que o sudo seja chamado, então ele pega seu próprio ambiente.

    Um su simples (sem - , -l ou --login ) também mantém (a maioria) o ambiente intacto, de modo que as configurações de proxy são herdadas.

    sudo não preserva o ambiente por padrão. Você poderia tentair:

     sudo -E curl ... 

    (paira preservair todo o ambiente, se você tem permissão paira fazer isso), ou

     sudo http_proxy=$http_proxy curl ... 

    paira passair apenas http_proxy (mais seguro).

    Especifique o host como:

    • um airgumento de linha de command (-x)
    • na linha de command (command vair = moo)
    • ou exportá-lo paira o seu ambiente
     $ curl http://icanhazip.com/ -x http://87-98-136-60.ovh.net:80 87.98.136.60 $ curl http://icanhazip.com/ 84.202.82.63 $ http_proxy=http://87-98-136-60.ovh.net:80 curl http://icanhazip.com/ 87.98.136.60 $ http_proxy=http://87-98-136-60.ovh.net:80; curl http://icanhazip.com/ 84.202.82.63 $ export http_proxy=http://87-98-136-60.ovh.net:80; curl http://icanhazip.com/ 87.98.136.60 $ http_proxy=http://87-98-136-60.ovh.net:80; sudo curl http://icanhazip.com/ 84.202.82.63 $ export http_proxy=http://87-98-136-60.ovh.net:80; sudo -E curl http://icanhazip.com/ 
    Nós somos o genio da rede de computadores, vamos consertar as questões de hardware e software do computador juntos.