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?

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:password@proxy.server.address:port/
https_proxy =  http://username:password@proxy.server.address:port/
ftp_proxy =  http://username:password@proxy.server.address: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.


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

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.


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:ABC!123@172.16.1.100:8080'

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/'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.