2012-06-26 10 views
137

Chcę pobrać coś za pomocą narzędzia wget. ale chcę użyć tych ustawień dla wget:Ustawianie proxy w wget

HTTP Proxy: 127.0.0.1 
Port: 8080 

bez nazwy użytkownika i hasła.

Jak mogę to zrobić? Sprawdziłem wiele miejsc i wiele sugestii, ale nic nie działało na mnie ...

+9

Hakim - Zauważyłem, że nie zaakceptowałeś żadnej z odpowiedzi. Czy to oznacza, że ​​się mylą i nie powinienem postępować zgodnie z udzieloną radą? Jeśli tak, czy rozwiązałeś problem z czymś innym? – jww

Odpowiedz

29

następujące możliwe configs znajdują się w /etc/wgetrc tylko Odkomentuj i wykorzystania ...

# 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 
271

Via ~/.wgetrc pliku:

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

lub poprzez -e opcji umieszczonych po URL:

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

Dziękuję, odpowiedź hovanessyana działa dobrze. ale nie wiem, dlaczego nie mogę użyć sposobu user1464130. Wolę ustawiać tymczasowo ustawienia proxy podczas wywoływania wget. ale teraz wydaje się, że muszę zmienić konfigurację w pliku ustawień ... – Hakim

+2

Zmień use-proxy na use_proxy i http-proxy na http_proxy i to działa. – FloppyDisk

+3

Mój wget mówi, że musi to być 'use_proxy = on', a nie' use_proxy = yes'. Działa dobrze inaczej. –

64

Wpisz w wierszu poleceń:

$ export http_proxy=http://proxy_host:proxy_port 

uwierzytelnionego pełnomocnictwa,

$ export http_proxy=http://username:[email protected]_host:proxy_port 

a następnie uruchomić

$ wget fileurl 

HTTPS, wystarczy użyć https_proxy zamiast http_proxy. Można również umieścić te linie w pliku ~/.bashrc, aby nie trzeba było wykonywać tego za każdym razem.

16

wget używa zmiennych środowiskowych somthing jak to w wierszu poleceń może pracować:

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" 
+0

Pomógł również na homebrew! – Miao1007

2

w systemie Windows - dla Skrzypek powiedzieć - za pomocą zmiennych środowiskowych:

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

w Debian wget Linux może być skonfigurowana do korzystania z proxy zarówno przez zmienne środowiska i przez wgetrc. W obu przypadkach nazwy zmiennych należy stosować dla HTTP i HTTPS połączenia są

http_proxy=hostname_or_IP:portNumber 
https_proxy=hostname_or_IP:portNumber 

Zauważ, że plik/etc/wgetrc ma pierwszeństwo przed zmiennych środowiskowych, stąd jeśli system ma proxy tam skonfigurowane i spróbować użyj zmiennych środowiskowych, wydaje się, że nie mają one żadnego efektu!

6

Po wypróbowaniu wiele tutoriali do konfiguracji Ubuntu 16.04 LTS za uwierzytelnionego pełnomocnictwa, to działało z tych etapów:

Edytuj /etc/wgetrc :

$ sudo nano /etc/wgetrc 

Odkomentuj te linie:

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

Zmiany http://proxy.yoyodyne.com:18023/ do http://username:[email protected]:port/

WAŻNE: Jeśli nadal nie działa, sprawdź, czy hasło zawiera znaki specjalne, takie jak #, @ ... W takim przypadku należy uciec (na przykład zastąpić [email protected] przez passw%40rd).