Wget'ı sistem dosyalarını değiştirmeden proxy sunucusu kullanmaya nasıl zorlarım?


23

Komutu (gibi wget --proxy=$http_proxy) çağırırken proxy'yi ayarlamama olanak sağlayan wget ile eşdeğer bir şey bilmek istiyorum .

Herhangi bir fikir ?

Yanıtlar:


25

Sistem dosyalarınızı değiştirmeden /etc/wgetrcgiriş dizininizde bir dosya oluşturabilirsiniz ~/.wgetrc. Wget ayarlarını yerel olarak kullanıcı düzeyinde değiştirmenize olanak sağlar. Şimdi ~/.wgetrcbir proxy sunucusunun arkasında wget kullanmak için aşağıdakini yazın :

use_proxy = on
http_proxy =  http://username:password@proxy.server.address:port/
https_proxy =  http://username:password@proxy.server.address:port/
ftp_proxy =  http://username:password@proxy.server.address:port/

Proxy kullanıcı adınız ve şifreniz yoksa, proxy adresini ve bağlantı noktasını her yere yazın,

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

Bu çalışmalı. Diğer tüm uygulamalar için zaten proxy ayarlarına sahip olduğunuzu farz ediyorum.


38

Bu -eseçenek, komut satırında wgetrc'deki gibi komutlar vermenizi sağlar, böylece bir dosyayı değiştirmeniz gerekmez ...

wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com

Parlak. Çok fazla sorun kurtardınız, bu cevap kadar basit.
Wildcard

Nasıl kapatabilirim?
Tessaracter

3

Adresinde bulunan wgetrcdosyayı düzenlemeniz gerekir /etc/wgetrc.

Favori metin düzenleyicinizi kullanın, yani: nano /etc/wgetrcdüzenlemek için

Http_proxy etiketini arayın ve önündeki # işaretini kaldırın , proxy sunucusunu = işaretinden sonra ekleyin , yani:

http_proxy=http://foo.proxy:8080

Sonra use_proxy etiketini arayın ve önündeki # işaretini kaldırın , dosyayı kaydedin.

wget daha sonra belirtilen proxy sunucusunu kullanıyor olacak.

Sistem konfigürasyonunu kullanıcı ile değiştiremezseniz mevcut konfigürasyonu düzenleyebileceğiniz bir yere kopyalayabilirsiniz, örneğin: cp /etc/wgetrc ~ve --config=~/wgetrcwget'ı genel konfigürasyon yerine değiştirdiğiniz konfigürasyonu kullanmaya zorlamak için bu seçeneği kullanın.


Bu olasılığın farkındayım, ancak config dosyalarını değiştiremiyorum.
fxm

Bunun wget ile sahip olduğunuz tek seçenek olduğunu düşünüyorum.
Bruno Pereira

Bu yüzden başlıkta belirtildiği gibi eşdeğer bir wget arıyorum.
fxm

Bunu yansıtacak şekilde başlığını değiştirdim, ilk olarak ne yapmaya çalıştığınız belliydi.
Bruno Pereira

Cevabın son paragrafını kontrol edin.
Bruno Pereira

1

Belirtilmeyen, ancak belirtilmesi gereken bir seçenek: Çevresel değişkenleri kullanın (dağıtımınıza bağlı olarak):

http_proxy=http://<proxy-server-ip>:<port>
export http_proxy

ya da sadece

export http_proxy=http://<proxy-server-ip>:<port>

Aynısı:

https_proxy=http://<proxy-server-ip>:<port>
ftp_proxy=http://<proxy-server-ip>:<port>

Bir kullanıcı adı ve şifre ekleyebilirsiniz, eğer şifrenizde özel karakterler varsa '-s' harfini eklemeyi unutmayın.

http_proxy='http://<username>:<password>@<proxy-server-ip>:<port>'

Örnekler:

export http_proxy=http://172.16.1.100:8080
export https_proxy='http://johndoe:ABC!123@172.16.1.100:8080'

1

Yalnızca komut satırından , ortam değişkenlerini kullanmaya gerek kalmadan bilgilerden önce wgetkomuttan önce başarı buldum http_proxy. Örneğin:

'$ http_proxy=<proxy-server-ip>:<port> wget http://www.example.com/'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.