wget สำหรับ ftp โดยใช้รหัสผ่านที่มี @


15

ฉันพยายามรับไฟล์บางไฟล์จากเซิร์ฟเวอร์ ftp ของฉันจากบรรทัดคำสั่ง ฉันใช้ wget เพื่อดาวน์โหลดโฟลเดอร์ทั้งหมดในครั้งเดียว คำสั่งคือ:

wget -m ftp://username:password@ftp.hostname.com:/path/to/folder

แต่ปัญหาคือรหัสผ่านของฉันมีสัญลักษณ์ '@' ดังนั้นคำสั่งจะกลายเป็น

wget -m ftp://username:foo@bar@ftp.hostname.com:/.. 

เนื่องจากการที่ wget พยายาม resove bar@ftp.hostname.com เป็นโฮสต์ซึ่งไม่สามารถทำได้ กรุณาช่วย!

คำตอบ:


30

แทนที่จะใช้user:pass@hostnameไวยากรณ์ให้ใช้สวิตช์ จากwget --help:

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

ตัวอย่าง:

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

7

คุณสามารถเข้ารหัส URL ชื่อผู้ใช้และ / หรือรหัสผ่าน @สัญลักษณ์จะกลายเป็น%40

ตัวอย่างเช่น:

wget -m ftp://username:foo@bar@ftp.hostname.com:/.. 

สามารถเขียนเป็น

wget -m ftp://username:foo%40bar@ftp.hostname.com:/.. 

ฉันรู้ว่าคำถามนี้ได้รับการแก้ไขนานแล้ว แต่ฉันเห็นสิ่งนี้ในมุมตาของฉันและคิดว่าฉันจะแก้ปัญหา (นี่เป็นประโยชน์จริง ๆ เพราะมันควรจะทำงานกับทุกสิ่งที่ใช้หรือสนับสนุนโดยใช้ URIs เช่น FileZilla หรือเว็บเบราว์เซอร์)


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.