Bagaimana cara mengatur alamat proxy http untuk wget di bawah windows?

11

Jika dijalankan tanpa parameter wgetcetakan saya :

D:\>wget
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:/progra~1/wget/etc/wgetrc
D:\Apps\Util\wget: missing URL
Usage: D:\Apps\Util\wget [OPTION]... [URL]...

Try `D:\Apps\Util\wget --help' for more options.

Ini mungkin berarti, yang terlihat file wgetrcdi c:/progra~1/wget/etc/wgetrc. Sayangnya, lokasi ini tidak tersedia untuk program non-root. Saya berpikir saya dapat memodifikasi SYSTEM_WGETRCatau syswgetrcvariabel lingkungan, tetapi ini terlihat tidak berpengaruh

D:\>echo %SYSTEM_WGETRC%
d:\apps\util\wgetrc

D:\>echo %syswgetrc%
D:\APPS\Util\wgetrc
Suzan Cioc
sumber
Aduh, itu sangat aneh. Mengapa Anda mendapatkan garis miring c: /? Seharusnya C: \
barlop
juga lucu bahwa wget Anda memberi tahu Anda tentang wgetrc, milikku tidak. Mungkin kita memiliki beberapa pengaturan yang berbeda. Tetapi versi wget apa yang Anda miliki?
barlop

Jawaban:

10

wget --helptidak banyak bercerita. Untuk detail lebih lanjut Anda dapat memeriksa manual wget online Atau man wget (mereka adalah hal yang berbeda, sering kali patut diperiksa masing-masing)

Singkatnya, ini sebuah contoh

C:\sdf>wget -e http_proxy=127.0.0.1:8118 www.google.com

dan lainnya

C:\sdf>set http_proxy=127.0.0.1:8118
C:\sdf>wget www.google.com

Manual menyebutkan wgetrcperintah . Anda melihat beberapa hal tentang proksi http yang tercantum di sana.

6.3 Perintah Wgetrc

  • http_proxy = string
    Gunakan string sebagai proksi http, alih-alih yang ditentukan dalam lingkungan.
  • https_proxy = string
    Gunakan string sebagai https proxy, alih-alih yang ditentukan dalam lingkungan.

8.1 Proxy

Wget mendukung proxy untuk pengambilan http dan ftp. Cara standar untuk menentukan lokasi proxy, yang diakui Wget, menggunakan variabel lingkungan berikut:

  • http_proxy
  • https_proxy
    Jika disetel, variabel http_proxy dan https_proxy harus masing-masing berisi url proksi untuk koneksi http dan https.

ditambahkan

Mengenai halaman manual wget dan "manual wget".

Halaman manual pada baris perintah adalah yang terbaru, tetapi manual (entitas yang berbeda dari halaman manual), tidak selalu versi terbaru wget. Pada penulisan (September 2015) itu. http://www.gnu.org/software/wget/manual/wget.html Anda dapat melihat versi di atas dan memeriksa apakah ini http://ftp.gnu.org/gnu/wget/ terbaru yang menunjukkan tanggal terlalu. (Anda lihat di archive.org bahwa pada misalnya November 2013 manual gnu sangat ketinggalan zaman. Pada November 2013 bahkan Maret 2014, mereka masih menunjukkan wget 1.13.4 yang berasal dari 2011)

Untuk halaman manual, jika Anda memeriksa dari baris perintah maka itu harus versi yang Anda gunakan sehingga Anda bisa baik-baik saja di sana hanya dengan memastikan perintah Anda mutakhir / memperbaruinya. Anda mungkin ingin memeriksa bahwa / sumber online apa pun yang Anda gunakan menunjukkan halaman manual terbaru. Yang ini tampaknya baik-baik saja https://www.kernel.org/doc/man-pages/ tautan ke http://man7.org/linux/man-pages/man1/wget.1.html Anda juga dapat memeriksa versi di sana terhadap tautan ftp untuk memastikan itu adalah versi terbaru.

barlop
sumber
Pada Desember 2013, itu adalah kasus dimana manusia memiliki versi yang lebih baru daripada halaman web. mis. --content-on-error ada pada halaman man wget 2013, tetapi tidak pada manual online wget yang mencantumkan opsi. Jadi halaman web tidak selalu terbaru. Meskipun seperti yang disebutkan dalam jawaban saya, pada September 2015, halaman webnya terbaru.
barlop
1

Saya pikir Anda hanya ingin mengatur HTTP_PROXYvariabel lingkungan.

Dari: http://www.gnu.org/software/wget/manual/html_node/Proxies.html :

Wget mendukung proxy untuk pengambilan http dan ftp. Cara standar untuk menentukan lokasi proxy, yang diakui Wget, menggunakan variabel lingkungan berikut:

http_proxy
https_proxy

Jika disetel, variabel http_proxy dan https_proxy harus masing-masing berisi url proksi untuk koneksi http dan https.

ckhan
sumber
1

Jawaban barlop secara umum baik-baik saja, tetapi beberapa komentar:

pada baris perintah dos / windows atau file batch, Anda tentukan

set http[s]_proxy=http[s]://proxyserver:port/

lalu wget bekerja dengan baik.

biasanya juga akan mengambil kredensial masuk tunggal windows Anda jika Anda berada di jaringan perusahaan dengan otentikasi NTLM terhadap proxy (tidak perlu repot dengan domain - backslash - pengguna)

steinweb
sumber