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

В этом вопросе объясняется термин Ubuntu. Что означает «Ubuntu»?

Да. Ubuntu основан на Debian. Используемые упаковки в значительной степени идентичны. Ubuntu, в отличие от Debian, регулярно публикует расписание и больше ориентируется на стабильность и потребности конечных пользователей. Debian имеет больше свободы для экспериментальных пакетов и является очень хорошим дистрибутивом для разработчиков.

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

4 ответа

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

wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com
24
ответ дан 24 May 2018 в 17:53
  • 1
    Brilliant. Вы сэкономили много неприятностей, просто, как этот ответ. – Wildcard 5 April 2017 в 01:47

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

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

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

http_proxy=http://foo.proxy:8080

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

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

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

3
ответ дан 24 May 2018 в 17:53
  • 1
    Я знаю об этой возможности, но я не могу изменять файлы конфигурации. – fxm 17 September 2013 в 19:49
  • 2
    Думайте, что это единственный вариант с wget. – Bruno Pereira 17 September 2013 в 21:31
  • 3
    Вот почему я ищу эквивалент wget, как указано в названии. – fxm 18 September 2013 в 11:58
  • 4
    Я отредактировал название, чтобы отразить это, на первом месте было ясно, что вы пытались сделать. – Bruno Pereira 18 September 2013 в 13:57
  • 5
    Проверьте последний параграф ответа. – Bruno Pereira 18 September 2013 в 14:00

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

'$ http_proxy=<proxy-server-ip>:<port> wget http://www.example.com/'
1
ответ дан 24 May 2018 в 17:53

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

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>'

Примеры:

[ f5]
0
ответ дан 24 May 2018 в 17:53

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

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