Як встановити проксі для wget?


224

Я хочу завантажити щось за wgetдопомогою проксі:

HTTP Proxy: 127.0.0.1
Port: 8080

Проксі-сервер не потребує імені користувача та пароля.

Як я можу це зробити?


15
Хакім - я помітив, що ви не приймаєте жодної відповіді. Це означає, що вони помиляються, і я не повинен дотримуватися наданих порад? Якщо так, ви вирішили проблему ще чимось?
jww

Відповіді:


413

Для всіх користувачів системи через /etc/wgetrcабо для користувача лише з ~/.wgetrcфайлом:

use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080

або через -eпараметри, розміщені після URL-адреси:

wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...

4
Мій wget каже, що має бути use_proxy=on, ні use_proxy=yes. Добре працює інакше.
barfuin

4
Перевірено. Він працює з wget -e <http_proxy> = 127.0.0.01: 8080 < завантажити > ..., опустивши командний параметр "use_proxy = так". Дякую!
alejandrob

3
@Thomas Jensen Ви праві, керівництво wgetrc стверджує, що воно повинно бути onабо off, але насправді намагається помилкова команда: -e use_proxy=bnwдає, wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.хоча =yesне дає такої помилки, тому, здається, це невірно дозволено.
mxmlnkn

1
http_proxy=http://<user>:<password>@127.0.01:8080і аналогічно. в іншому випадку вам, можливо, доведеться подавати їх явно під час виклику wget (див. - askubuntu.com/a/429943/350255 )
парашутувати

1
Як вимкнути це?
Tessaracter

83

Введіть командний рядок:

$ export http_proxy=http://proxy_host:proxy_port

для автентифікованого проксі,

$ export http_proxy=http://username:password@proxy_host:proxy_port

а потім біжи

$ wget fileurl

для https, просто використовуйте https_proxy замість http_proxy. Ви також можете розмістити ці рядки у файлі ~ / .bashrc, щоб не потрібно було це виконувати щоразу.


Як видалити проксі
Tessaracter

1
$ unset http_proxy
shivshnkr

38

Наступні можливі конфігурації розміщені /etc/wgetrcлише у незмінності та використанні ...

# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/

# If you do not want to use proxy at all, set this to off.
#use_proxy = on

19

wget використовує змінні середовища приблизно так, як це в командному рядку:

export http_proxy=http://your_ip_proxy:port/
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export dns_proxy=$http_proxy
export rsync_proxy=$http_proxy
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"

Це допомогло і на домашньому пиві!
Miao1007

16

Спробувавши багато навчальних посібників, щоб налаштувати мій Ubuntu 16.04 LTS за аутентифікованим проксі, він працював з цими кроками:

Редагувати /etc/wgetrc:

$ sudo nano /etc/wgetrc

Відменшіть ці рядки:

#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on

Змінити http://proxy.yoyodyne.com:18023/наhttp://username:password@domain:port/

ВАЖЛИВО: Якщо вона по- , як і раніше не працює, перевірте , якщо ваш пароль має спеціальні символи, такі як #, @... Якщо це так, то позбутися від них (наприклад, замінити passw@rdз passw%40rd).




5

У Debian Linux wget може бути налаштований на використання проксі як через змінні середовища, так і через wgetrc. В обох випадках імена змінних, які слід використовувати для HTTP та HTTPS-з'єднань, є

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

Зауважте, що файл / etc / wgetrc має перевагу перед змінними середовища, тому, якщо у вашій системі є налаштований проксі-сервер, і ви намагаєтесь використовувати змінні середовища, вони, схоже, не матимуть ніякого ефекту!


3
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/

або

export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/

Як всі інші пояснювали тут, ця змінна середовище допомагає передавати проксі.

Примітка. Але, будь ласка, не те, що якщо пароль містить будь-який спеціальний символ, то його потрібно налаштувати як %<hex_value_of_special_char>.

Приклад: Якщо пароль є pass#123, потрібно використовувати, як pass%23123у наведених вище командах експорту.


2

У Windows - за словами Fiddler - використання змінних середовища:

set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888

2

Якщо вам потрібно виконати wget лише один раз за допомогою проксі-сервера, найпростіший спосіб - це зробити за допомогою одного вкладиша, як це:

http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl

або з цільовою URL-адресою https:

https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl


0

запустити wget через proxy socks5 за допомогою tsocks :

  1. встановити носочки: sudo apt install tsocks
  2. налаштувати tsocks

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. початок: tsocks wget http://url_to_get
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.