Bagaimana cara mengatur proxy untuk wget?

224

Saya ingin mengunduh sesuatu dengan wgetmenggunakan proxy:

HTTP Proxy: 127.0.0.1
Port: 8080

Proksi tidak perlu nama pengguna dan kata sandi.

Bagaimana saya bisa melakukan ini?

Hakim
sumber
15
Hakim - saya perhatikan Anda tidak menerima jawaban apa pun. Apakah itu berarti mereka salah dan saya tidak boleh mengikuti saran yang diberikan? Jika demikian, apakah Anda menyelesaikan masalah dengan hal lain?
jww

Jawaban:

413

Untuk semua pengguna sistem melalui /etc/wgetrcatau untuk pengguna hanya dengan ~/.wgetrcfile:

use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080

atau melalui -eopsi yang ditempatkan setelah URL:

wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
amaksr
sumber
4
Wget saya mengatakan itu pasti use_proxy=on, bukan use_proxy=yes. Jika tidak, berfungsi dengan baik.
barfuin
4
Diperiksa Ini bekerja dengan wget -e <http_proxy> = 127.0.0.01: 8080 < unduh > ..., menghilangkan parameter perintah "use_proxy = yes". Terima kasih!
alejandrob
3
@ Thomas Jensen Anda benar, manual-wgetrc menyatakan bahwa seharusnya onatau off, tetapi sebenarnya mencoba perintah palsu: -e use_proxy=bnwmemberi wget: use_proxy: Invalid boolean ‘bnw’; use 'on' or 'off'.sementara =yestidak memberikan kesalahan seperti itu, sehingga tampaknya tidak diizinkan secara resmi.
mxmlnkn
1
http_proxy=http://<user>:<password>@127.0.01:8080dan juga. jika tidak, Anda mungkin harus memberi ini secara eksplisit saat memanggil wget (lihat - askubuntu.com/a/429943/350255 )
parasrish
1
Bagaimana saya mematikannya?
Tessaracter
83

Ketikkan baris perintah:

$ export http_proxy=http://proxy_host:proxy_port

untuk proxy yang dikonfirmasi,

$ export http_proxy=http://username:password@proxy_host:proxy_port

dan kemudian jalankan

$ wget fileurl

untuk https, cukup gunakan https_proxy alih-alih http_proxy. Anda juga bisa meletakkan baris-baris ini di file ~ / .bashrc Anda sehingga Anda tidak perlu melakukan ini setiap saat.

shivshnkr
sumber
Cara menghapus proxy
Tessaracter
1
$ unset http_proxy
shivshnkr
38

konfigurasi yang mungkin berikut ini terletak /etc/wgetrchanya dalam tanda komentar dan gunakan ...

# 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
hovanessyan
sumber
19

wget menggunakan variabel lingkungan, sesuatu seperti ini di baris perintah dapat berfungsi:

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"
juan_liga
sumber
Itu membantu homebrew juga!
Miao1007
16

Setelah mencoba banyak tutorial untuk mengonfigurasi Ubuntu 16.04 LTS saya di belakang proxy yang diautentikasi, ia bekerja dengan langkah-langkah ini:

Edit /etc/wgetrc:

$ sudo nano /etc/wgetrc

Batalkan komentar pada baris ini:

#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on

Ubah http://proxy.yoyodyne.com:18023/kehttp://username:password@domain:port/

PENTING: Jika masih tidak bekerja, cek jika password Anda memiliki karakter khusus, seperti #, @, ... Jika hal ini terjadi, melarikan diri mereka (misalnya, ganti passw@rddengan passw%40rd).

Janderson Silva
sumber
5

Dalam Debian Linux, wget dapat dikonfigurasi untuk menggunakan proxy baik melalui variabel lingkungan dan melalui wgetrc. Dalam kedua kasus, nama variabel yang akan digunakan untuk koneksi HTTP dan HTTPS adalah

http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber

Perhatikan bahwa file / etc / wgetrc didahulukan dari variabel lingkungan, maka jika sistem Anda memiliki proxy yang dikonfigurasi di sana dan Anda mencoba menggunakan variabel lingkungan, mereka tampaknya tidak akan berpengaruh!

a1an
sumber
3
export http_proxy=http://proxy_host:proxy_port/
export https_proxy=https://proxy_host:proxy_port/

atau

export http_proxy=http://username:password@proxy_host:proxy_port/
export https_proxy=https://username:password@proxy_host:proxy_port/

Seperti yang dijelaskan semua orang di sini, variabel lingkungan ini membantu meneruskan proxy.

Catatan: Tapi tolong jangan bahwa jika kata sandi berisi karakter khusus maka itu perlu dikonfigurasi sebagai %<hex_value_of_special_char>.

Contoh: Jika kata sandi itu pass#123, perlu digunakan seperti pass%23123dalam perintah ekspor di atas.

rashok
sumber
2

Di Windows - untuk Fiddler katakan - menggunakan variabel lingkungan:

set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888
perintah
sumber
2

Jika Anda perlu menjalankan wget sekali saja dengan proxy, cara termudah adalah melakukannya dengan one-liner seperti ini:

http_proxy=http://username:password@proxy_host:proxy_port wget http://fileurl

atau dengan URL target https:

https_proxy=http://username:password@proxy_host:proxy_port wget https://fileurl
jplandrain
sumber
0

Tambahkan baris di bawah ini dalam file ~ / .wgetrc atau / etc / wgetrc (buat file jika tidak ada):

http_proxy = http://[Proxy_Server]:[port]
https_proxy = http://[Proxy_Server]:[port]
ftp_proxy = http://[Proxy_Server]:[port]

Untuk informasi lebih lanjut, https://www.thegeekdiary.com/how-to-use-wget-to-download-file-via-proxy/

Vinoj John Hosan
sumber
0

mulai wget melalui proxy socks5 menggunakan tsocks :

  1. pasang tsocks: sudo apt install tsocks
  2. konfigurasi tsocks

    # vi /etc/tsocks.conf
    
    server = 127.0.0.1
    server_type = 5
    server_port = 1080
  3. Mulailah: tsocks wget http://url_to_get
cggos
sumber