Как заставить wget использовать прокси-сервер без изменения системных файлов?

Я хотел бы знать эквивалент wget, позволяющий мне устанавливать прокси при вызове команды (например, wget --proxy=$http_proxy).

Есть идеи?

22
задан 3 October 2017 в 12:17

5 ответов

Не изменяя Ваши системные файлы в /etc/wgetrc Вы могли создать файл в своем корневом каталоге ~/.wgetrc. Это позволит Вам изменить wget настройки локально на уровне пользователя. Теперь запишите следующее в ~/.wgetrc использовать wget позади прокси-сервера:

use_proxy = on
http_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/

Это должно работать. Я предполагаю, что у Вас уже есть настройки прокси для всех других приложений.

25
ответ дан 3 October 2017 в 12:17

Опция -e позволяет вам вводить команды, как в wgetrc, в командной строке, поэтому вам не нужно изменять файл ...

wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com
0
ответ дан 3 October 2017 в 12:17

Вам необходимо отредактировать файл wgetrc, расположенный в /etc/wgetrc.

Используйте ваш любимый текстовый редактор, например: nano /etc/wgetrc, чтобы отредактировать его

Найдите тег http_proxy и удалите перед ним # , добавьте прокси-сервер после знака = , то есть:

http_proxy=http://foo.proxy:8080

Затем найдите тег use_proxy и удалите # перед это, сохраните файл.

wget будет затем использовать указанный прокси-сервер.

Если вы не можете изменить конфигурацию системы с вашим пользователем, вы можете скопировать текущую конфигурацию в место, где вы можете ее отредактировать, например: cp /etc/wgetrc ~ и использовать опцию --config=~/wgetrc, чтобы заставить wget использовать конфигурацию, которую вы изменили. глобальной конфигурации.

0
ответ дан 3 October 2017 в 12:17

Только из командной строки я обнаружил успех, предшествующий команде wget с информацией http_proxy без необходимости использования переменных среды. Например:

'$ http_proxy=<proxy-server-ip>:<port> wget http://www.example.com/'
0
ответ дан 3 October 2017 в 12:17

Вариант, который не упомянут, но должен быть упомянут: используйте переменные среды (в зависимости от вашего дистрибутива):

http_proxy=http://<proxy-server-ip>:<port>
export http_proxy

или просто

export http_proxy=http://<proxy-server-ip>:<port>

То же для:

[ 112]

Вы можете включить имя пользователя и пароль, если в вашем пароле есть специальные символы, обязательно укажите '-s.

http_proxy='http://<username>:<password>@<proxy-server-ip>:<port>'

Примеры:

export http_proxy=http://172.16.1.100:8080
export https_proxy='http://johndoe:ABC!123@172.16.1.100:8080'
0
ответ дан 3 October 2017 в 12:17

Другие вопросы по тегам:

Похожие вопросы: