Я хотел бы знать эквивалент wget, позволяющий мне устанавливать прокси-сервер при вызове команды (например wget --proxy=$http_proxy).
Есть какие-нибудь идеи?
Я хотел бы знать эквивалент wget, позволяющий мне устанавливать прокси-сервер при вызове команды (например wget --proxy=$http_proxy).
Есть какие-нибудь идеи?
То -e опция позволяет вам предоставлять команды, как в wgetrc, в командной строке, поэтому вам не нужно изменять файл...
wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com
Без изменения ваших системных файлов на /etc/wgetrc вы можете создать файл в своем домашнем каталоге ~/.wgetrc. Это позволит вам изменять настройки wget локально на уровне пользователя. Теперь напишите следующее по адресу ~/.wgetrc чтобы использовать wget за прокси-сервером:
use_proxy = onhttp_proxy = http://username:password@proxy.server.address:port/https_proxy = http://username:password@proxy.server.address:port/ftp_proxy = http://username:password@proxy.server.address:port/Если у вас нет имени пользователя и пароля прокси-сервера, просто напишите прокси-адрес и порт везде, как,
http_proxy = http://proxy.server.address:port/Это должно сработать. Я предполагаю, что у вас уже есть настройки прокси-сервера для всех других приложений.
Вам нужно отредактировать wgetrc файл, расположенный по адресу /etc/wgetrc.
Используйте свой любимый текстовый редактор, т.е.: nano /etc/wgetrc чтобы отредактировать его
Ищите то, что http_proxy пометьте и удалите # перед ним добавьте прокси-сервер после = знак, то есть:
http_proxy=http://foo.proxy:8080Затем найдите use_proxy пометьте и удалите # перед ним сохраните файл.
wget затем будет использоваться указанный прокси-сервер.
Если вы не можете изменить конфигурацию системы с помощью своего пользователя, вы можете скопировать текущую конфигурацию в место, где вы можете ее отредактировать, т.Е.: cp /etc/wgetrc ~ и использовать --config=~/wgetrc возможность заставить wget использовать измененную вами конфигурацию вместо глобальной конфигурации.
Опция, которая не упоминается, но должна быть упомянута: Используйте переменные среды (в зависимости от вашего дистрибутива):
http_proxy=http://<proxy-server-ip>:<port>export http_proxyили просто
export http_proxy=http://<proxy-server-ip>:<port>То же самое для:
https_proxy=http://<proxy-server-ip>:<port>ftp_proxy=http://<proxy-server-ip>:<port>Вы можете указать имя пользователя и пароль, если в вашем пароле есть специальные символы, обязательно укажите '-s.
http_proxy='http://<username>:<password>@<proxy-server-ip>:<port>'Примеры:
export http_proxy=http://172.16.1.100:8080export https_proxy='http://johndoe:ABC!123@172.16.1.100:8080'
Только из командной строки я обнаружил успех, предшествующий wget команда с помощью http_proxy информация без необходимости использования переменных среды. Например:
$ http_proxy=<proxy-server-ip>:<port> wget http://www.example.com/$ https_proxy=<proxy-server-ip>:<port> wget https://www.example.com/Отвечает ли это на ваш вопрос? Как использовать прокси-сервер в командной строке?