Почему sudo curl игнорирует настройки прокси-сервера?

$ 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. 

Последняя команда не использует прокси. Зачем?

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

Также работает правильно.

  • Как определить, имеет ли сетевой коммутатор достаточную пропускную способность для поддержки передачи ПК на ПК одновременно с доступом в Интернет?
  • Разница между разветвителем Ethernet и коммутатором
  • Трафик не перенаправляется через NAT
  • DD-WRT: головные боли dnsmasq со статическими хостами
  • VirtualBox: установите сетевой адаптер для эксклюзивного использования гостевой виртуальной машины
  • Как объединить два сетевых подключения в одной сети?
  • Могу ли я использовать разъемы CAT5e с кабелем CAT6?
  • Почему IETF специально выбрал 192.168 / 16 для частного класса IP-адресов?
  • Почему принтер принтера Epson часто появляется в автономном режиме?
  • Как узнать настройки DHCP, предлагаемые сервером?
  • Лучший способ отслеживать мое интернет-соединение, отличное от ping
  • Удаленный доступ для сетевого принтера
  • 2 Solutions collect form web for “Почему sudo curl игнорирует настройки прокси-сервера?”

    Это не значит, что вы думаете:

     sudo echo $http_proxy 

    При этом $http_proxy расширяется оболочкой перед sudo , поэтому он выбирает вашу собственную среду.

    --login su (без - , -l или --login ) также сохраняет (большую часть) среду неповрежденной, поэтому настройки прокси-сервера унаследованы.

    sudo не сохраняет среду по умолчанию. Вы можете попробовать:

     sudo -E curl ... 

    (Чтобы сохранить всю среду, если вам разрешено это делать), или

     sudo http_proxy=$http_proxy curl ... 

    http_proxy только http_proxy (безопаснее).

    Укажите хост как:

    • Аргумент командной строки (-x)
    • В командной строке (команда var = moo)
    • Или экспортировать его в вашу среду
     $ 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/ 
    Давайте будем гением компьютера.