wget for ftp menggunakan kata sandi yang berisi @

14

Saya mencoba untuk mendapatkan beberapa file dari server ftp saya dari baris perintah. Saya menggunakan wget untuk mengunduh seluruh folder sekaligus. Perintahnya adalah:

wget -m ftp://username:[email protected]:/path/to/folder

Tetapi masalahnya adalah, kata sandi saya mengandung simbol '@'. Karena itu Perintah itu menjadi

wget -m ftp://username:foo@[email protected]:/.. 

karena itu, wget mencoba untuk mengganti [email protected] sebagai tuan rumah, yang tidak dapat dilakukan. Tolong bantu!

roopunk
sumber

Jawaban:

29

Alih-alih user:pass@hostnamesintaks, gunakan sakelar. Dari wget --help:

--ftp-user=USER         set ftp user to USER.
--ftp-password=PASS     set ftp password to PASS.

Contoh:

wget -m --ftp-user=username --ftp-password=foo@bar ftp://ftp.hostname.com/file
Dennis
sumber
7

Anda juga dapat menyandikan URL nama pengguna dan / atau kata sandi. The @simbol menjadi%40

Sebagai contoh:

wget -m ftp://username:foo@[email protected]:/.. 

dapat ditulis sebagai

wget -m ftp://username:foo%[email protected]:/.. 

Saya menyadari pertanyaan ini telah dipecahkan sejak lama, tetapi saya melihat ini di sudut mata saya dan berpikir saya akan memberikan solusi (ini sebenarnya berguna, karena itu harus bekerja dengan apa pun yang menggunakan atau mendukung menggunakan URI, seperti FileZilla atau browser web.)

John Chadwick
sumber
-2

wget -m --ftp-user = nama pengguna --ftp-password = foo @ bar ftp://ftp.hostname.com/file -O / path_to_file / dest_file_name

Yezzo
sumber
2
Duplikat jawaban yang diberikan 3 tahun lalu ...
xenoid