21

Я попробовал следующую команду:

$ wget -q --tries=10 --timeout=20 --spider http://google.com

(Из этого ТАК. Я хочу проверить мое интернет-соединение в Bash.)

Я получаю следующий вывод:

Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:50--  http://google.com/
Connecting to 127.0.0.1:3128... connected.
Proxy request sent, awaiting response... 302 Found
Location: http://www.google.de/?gfe_rd=cr&ei=k_IIVreaN-yH8Qfe1Yu4CA [following]
Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:50--  http://www.google.de/?gfe_rd=cr&ei=k_IIVreaN-yH8Qfe1Yu4CA
Connecting to 127.0.0.1:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.

Кажется, все в порядке, но при запуске cmd с помощью sudo я получаю следующее:

Spider mode enabled. Check if remote file exists.
--2015-09-28 09:55:27--  http://google.com/
Resolving google.com (google.com)... failed: Name or service not known.
wget: unable to resolve host address ‘google.com’

Мне нужна эта строка в скрипте, который я вызываю с помощью sudo поэтому она всегда завершается ошибкой.

Может кто-нибудь сказать мне причину этого? Как я могу обойти это?

1 ответ1

39

У вас есть прокси, определенный в вашей среде. Ваш, кажется, 127.0.0.1:3128 .

Когда вы запускаете sudo , переменная окружения прокси не передается, поэтому вы не можете напрямую разрешить google.com .

Вы можете увидеть, какие прокси / прокси вы определили в переменных окружения с помощью этой команды:

env | grep proxy

Дополнительная информация о Ask Ubuntu

Примечание. Если вы хотите, чтобы sudo передавал переменную среды HTTP-прокси, попробуйте следующее:

sudo http_proxy="$http_proxy" wget -q --tries=10 --timeout=20 --spider http://google.com

Вы также можете передать все переменные окружения, используя sudo -E:

sudo -E wget -q --tries=10 --timeout=20 --spider http://google.com

Переполнение стека имеет другие опции для сохранения переменной окружения при sudo .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .