Bagaimana cara memaksa wget untuk menggunakan server proxy tanpa mengubah file sistem?

23

Saya ingin tahu yang setara dengan wget memungkinkan saya untuk mengatur proxy sambil memanggil perintah (seperti wget --proxy=$http_proxy).

Ada ide?

fxm
sumber

Jawaban:

25

Tanpa memodifikasi file sistem /etc/wgetrcAnda, Anda dapat membuat file di direktori home Anda ~/.wgetrc. Ini akan memungkinkan Anda untuk mengubah pengaturan wget secara lokal di tingkat pengguna. Sekarang tulis berikut ini di ~/.wgetrcuntuk menggunakan wget di belakang server proxy:

use_proxy = on
http_proxy =  http://username:[email protected]:port/
https_proxy =  http://username:[email protected]:port/
ftp_proxy =  http://username:[email protected]:port/

Jika Anda tidak memiliki nama pengguna dan kata sandi proxy, cukup tulis alamat-proxy dan porta di mana-mana seperti,

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

Ini seharusnya bekerja. Saya berasumsi Anda sudah memiliki pengaturan proxy untuk semua aplikasi lain.

souravc
sumber
38

The -epilihan memungkinkan Anda untuk memberikan perintah seperti di wgetrc pada baris perintah sehingga Anda tidak perlu mengubah file ...

wget -e use_proxy=yes -e http_proxy=$proxy http://askubuntu.com
jhs
sumber
Cemerlang. Anda telah menyimpan banyak masalah, semudah jawaban ini.
Wildcard
Bagaimana saya mematikannya?
Tessaracter
3

Anda perlu mengedit wgetrcfile yang terletak di /etc/wgetrc.

Gunakan editor teks favorit Anda, yaitu: nano /etc/wgetrcuntuk mengeditnya

Cari tag http_proxy dan hapus # di depannya, tambahkan server proxy setelah tanda = , yaitu:

http_proxy=http://foo.proxy:8080

Kemudian cari tag use_proxy dan hapus # di depannya, simpan file tersebut.

wget akan kemudian menggunakan server proxy yang ditentukan.

Jika Anda tidak dapat mengubah konfigurasi sistem dengan pengguna Anda, Anda dapat menyalin konfigurasi saat ini ke tempat Anda dapat mengeditnya, yaitu: cp /etc/wgetrc ~dan menggunakan --config=~/wgetrcopsi untuk memaksa wget untuk menggunakan konfigurasi yang Anda ubah alih-alih konfigurasi global.

Bruno Pereira
sumber
Saya mengetahui kemungkinan ini, tetapi saya tidak dapat mengubah file konfigurasi.
fxm
Pikirkan ini satu-satunya opsi yang Anda miliki dengan wget.
Bruno Pereira
Itu sebabnya saya mencari yang setara dengan wget seperti yang saya sebutkan di judul.
fxm
Saya telah mengedit judul untuk mencerminkan hal itu, pada awalnya jelas apa yang Anda coba lakukan.
Bruno Pereira
Periksa paragraf terakhir dari jawabannya.
Bruno Pereira
1

Opsi yang tidak disebutkan, tetapi harus disebutkan: Gunakan variabel lingkungan (tergantung distro Anda):

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

atau sederhana

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

Sama untuk:

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

Anda dapat memasukkan nama pengguna dan kata sandi, jika Anda memiliki karakter khusus dalam kata sandi Anda, pastikan untuk memasukkan '-s.

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

Contoh:

export http_proxy=http://172.16.1.100:8080
export https_proxy='http://johndoe:[email protected]:8080'
gjs
sumber
1

Dari baris perintah saja saya telah menemukan kesuksesan sebelum wgetperintah dengan http_proxyinformasi tanpa perlu menggunakan variabel lingkungan. Sebagai contoh:

'$ http_proxy=<proxy-server-ip>:<port> wget http://www.example.com/'
pengguna819727
sumber