wget
Proxy kullanarak bir şey indirmek istiyorum :
HTTP Proxy: 127.0.0.1
Port: 8080
Proxy için kullanıcı adı ve şifre gerekmez.
Bunu nasıl yapabilirim?
wget
Proxy kullanarak bir şey indirmek istiyorum :
HTTP Proxy: 127.0.0.1
Port: 8080
Proxy için kullanıcı adı ve şifre gerekmez.
Bunu nasıl yapabilirim?
Yanıtlar:
Sistem üzerinden /etc/wgetrc
veya yalnızca ~/.wgetrc
dosya ile kullanıcı için tüm kullanıcılar :
use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080
veya -e
URL'den sonra yerleştirilen seçeneklerle:
wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
use_proxy=on
, değil use_proxy=yes
. Aksi takdirde iyi çalışır.
on
veya off
, ama aslında sahte bir komutu çalışırken: -e use_proxy=bnw
verir wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.
iken =yes
inofficially izin gibi görünüyor, bu yüzden böyle bir hata veriyor.
http_proxy=http://<user>:<password>@127.0.01:8080
Ve aynı şekilde. Aksi takdirde, wget'i çağırırken bunları açıkça beslemeniz gerekebilir (bkz. - askubuntu.com/a/429943/350255 )
Komut satırını yazın:
$ export http_proxy=http://proxy_host:proxy_port
kimliği doğrulanmış proxy için,
$ export http_proxy=http://username:password@proxy_host:proxy_port
ve sonra koş
$ wget fileurl
https için, http_proxy yerine https_proxy kullanın. Bu satırları ~ / .bashrc dosyanıza da koyabilirsiniz, böylece bunu her zaman yürütmeniz gerekmez.
Aşağıdaki olası yapılandırmalar /etc/wgetrc
sadece rahatsız edici ve kullanımdadır ...
# 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
wget komut satırında aşağıdaki gibi bir şey ortam değişkenleri kullanır:
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"
Ubuntu 16.04 LTS'yi kimliği doğrulanmış bir proxy'nin arkasında yapılandırmak için birçok öğretici denedikten sonra şu adımlarla çalıştı:
Düzenle /etc/wgetrc
:
$ sudo nano /etc/wgetrc
Bu satırları kaldır:
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on
Değişim http://proxy.yoyodyne.com:18023/
içinhttp://username:password@domain:port/
ÖNEMLİ: şifre gibi özel karakterleri, varsa hala değil işi, çek yaparsa
#
,@
bu durumda, ..., (örneğin, yerine onları kaçmakpassw@rd
ilepassw%40rd
).
Ubuntu 12.x'te, $ HOME / .wgetrc dosyasına aşağıdaki satırları ekledim
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = açık
Benim ubuntu, $ HOME / .wgetrc satırları aşağıdaki hile yaptı!
http_proxy = http: // uname: passwd@proxy.blah.com: 8080
use_proxy = açık
Debian Linux'ta wget, hem ortam değişkenleri hem de wgetrc aracılığıyla bir proxy kullanacak şekilde yapılandırılabilir. Her iki durumda da HTTP ve HTTPS bağlantıları için kullanılacak değişken adları
http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber
/ Etc / wgetrc dosyasının ortam değişkenlerine göre öncelikli olduğuna dikkat edin, bu nedenle sisteminizde orada yapılandırılmış bir proxy varsa ve ortam değişkenlerini kullanmaya çalışırsanız, bunların hiçbir etkisi yok gibi görünüyor!
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/
veya
export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/
Diğerlerinin burada açıkladığı gibi, bu ortam değişkeni proxy'lerin aktarılmasına yardımcı olur.
Not: Ancak, şifre herhangi bir özel karakter içeriyorsa, bunun olarak yapılandırılması gerektiğini lütfen unutmayın%<hex_value_of_special_char>
.
Örnek: Parola ise pass#123
, pass%23123
yukarıdaki dışa aktarma komutlarında olduğu gibi kullanılması gerekir .
Wget'i proxy ile yalnızca bir kez yürütmeniz gerekiyorsa, en kolay yol bunu böyle bir astarla yapmaktır:
http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl
veya bir https hedef URL'si ile:
https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl
~ / .Wgetrc veya / etc / wgetrc dosyasına aşağıdaki satırları ekleyin ( eğer yoksa dosyayı oluşturun):
http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]
Daha fazla bilgi için https://www.thegeekdiary.com/how-to-use-wget-to-download-file-via-proxy/