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.