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

15

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

Любые идеи?

    
задан fxm 17.09.2013 в 12:57
источник

4 ответа

15

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

use_proxy = on
http_proxy =  http://username:[email protected]:port/
https_proxy =  http://username:[email protected]:port/
ftp_proxy =  http://username:[email protected]:port/

Если у вас нет имени пользователя и пароля прокси, просто напишите прокси-адрес и порт везде, например,

http_proxy =  http://proxy.server.address:port/

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

    
ответ дан souravc 29.10.2013 в 19:17
источник
24

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

wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com
    
ответ дан jhs 17.02.2015 в 16:30
3

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

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

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

http_proxy=http://foo.proxy:8080

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

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

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

    
ответ дан Bruno Pereira 17.09.2013 в 13:13
0

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

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:8080
export https_proxy='http://johndoe:[email protected]:8080'
    
ответ дан gjs 03.10.2017 в 09:10