Я использую Ubuntu 13.10 с прокси-серверами, для которых требуется идентификатор пользователя и пароль.
Я не могу запустить команду wget
. Он возвращает:
Resolving sourceforge.net (sourceforge.net)... failed: Name or service not known.
wget: unable to resolve host address ‘sourceforge.net’
Что можно сделать, чтобы решить эту проблему?
Отредактируйте свое использование Resolv conf
# sudo vim /etc/resolv.conf
Затем войдите ниже
nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 4.4.4.4
Замените 192.168.1.1 своим IP Маршрутизатора
Отредактируйте этот файл также, если не Ваш DNS переопределит его
# sudo vim /etc/resolvconf/resolv.conf.d/base
Затем войдите ниже
nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 4.4.4.4
Затем Перезапуск Ваш Сервер Используя
# sudo /etc/init.d/networking restart
Для меня проблемой был avahi-deamon, который портил ответы DNS для определенных имен узлов. Я должен был удалить avahi, и все работало:
sudo apt remove avahi-daemon
Существует два способа работать wget
позади прокси. Любой набор соответствующие переменные среды и wget
будет действовать согласно им или настраивать wget
конфигурационный файл - wgetrc
.
Установите переменную среды
Прежде, чем установить переменные среды, позволяет, увидели в первый раз, если существуют какие-либо предварительно установленные существующие переменные прокси. Мы можем получить ту информацию с помощью следующей команды.
env | grep proxy
http_proxy=http://foo.bar:3128
no_proxy=localhost,127.0.0.1
Если никакая переменная среды прокси не будет установлена, то это пойдет для прямых подключений. Давайте возьмем пример моего колледжа. Мы используем сервер Прокси HTTP. Выполнение wget
не устанавливая http_proxy
переменная среды просто перестала работать. Так, позволяет, устанавливает этот ENV (переменная среды). переменная сначала
export http_proxy="http://foo.bar:8080"
Теперь, выполненный wget
и это должно работать как очарование. Если Ваш прокси также требует аутентификации, т.е. имя пользователя и пароль затем используют этот формат для установки ENV:
export http_proxy="http://username:password@foo.bar:8080"
Точно так же для другого типа прокси, набор соответствующий ENV - ftp_proxy
, https_proxy
и т.д.
Обратите внимание на то, что вышеупомянутые команды будут в действительности только, пока сеанс пользователя не истекает, т.е. путем выполнения вышеупомянутых команд, мы просто устанавливаем ENV прокси для сессии, не постоянно. И обычно мы не хотели бы выполнять команду каждый раз, мы входим в систему. Так, для создания этого постоянным мы можем или установить значение в конфигурации wget - wgetrc
файл или набор среда в ~/.bashrc
файл.
echo "export http_proxy=http://foo.bar:8080/" | tee -a ~/.bashrc
Нужно отметить, что, этот способ, которым мы могли бы влиять на настройки пользователя прокси. Лучший путь состоит в том, чтобы установить настройки постоянно в конфигурационном файле wget, этот путь никакое другое приложение. затронут.
Конфигурирование wgetrc
файл
Как большинство приложений wget
имеет конфигурационный файл также - wgetrc
:
/etc/wgetrc
, или~/.wgetrc
.Первый для глобальных изменений, и последний - для локальных настроек (конкретный пользователь). Мы будем вдаваться в подробности позже, позволяет, просто видят, как применить настройки прокси. Ее подобное установке переменной среды прокси, просто исключите команду экспорта. Откройте файл ~/.wgetrc
файл. Если Вы не существуете, то создайте его.
vim ~/.wgetrc
Теперь, добавьте соответствующий оператор в файле. Считайте раздел "Set the environment variable" для нахождения этого.
Как отключить/выключить настройки прокси
После того как Вы настроили настройки прокси в wgetrc
файл, каждый раз Вы работаете wget
, это автоматически соединится с прокси-сервером. Иногда для локальных / основанных на LAN загрузок, Вам, возможно, не понадобится прокси-сервер. В таких случаях мы можем выключить настройки прокси с помощью --no-proxy
аргумент в команде:
wget --no-proxy http://10.0.0.1/file.tgz
Если прокси требует аутентификации - Имя пользователя и Пароль
Мы уже знаем формат для установки переменной среды с именем пользователя и паролем. Wget предоставляет Вам два метода для упоминания имени пользователя и пароля для прокси-сервера.
/etc/wgetrc
или ~/.wgetrc
Если аутентификация, которую Вы используете, статична, то лучше набор это в конфигурационном файле. Если его всего одна вещь времени или если Вы хотите перезаписать настройки в конфигурационном файле затем, можно использовать --proxy-user
и --proxy-password
опции.
wget --proxy-user=username --proxy-password=password http://foo.bar/file.tgz
Для постоянных изменений, его всегда рекомендуемый для изменения конфигурационного файла.
Еще раз, для глобальных изменений изменяют /etc/wgetrc
файл иначе идет для ~/.wgetrc
файл. Откройте любой файл и добавьте/добавьте следующие строки в нем.
proxy_user=username
proxy_password=password