wget cho ftp bằng mật khẩu có chứa @


13

Tôi đang cố gắng để có được một số tệp từ máy chủ ftp của tôi từ dòng lệnh. Tôi đang sử dụng wget để tải xuống toàn bộ thư mục cùng một lúc. Lệnh là:

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

Nhưng vấn đề là, mật khẩu của tôi chứa biểu tượng '@'. Do đó lệnh trở thành

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

do đó, wget cố gắng giải quyết bar@ftp.hostname.com là máy chủ lưu trữ mà không thể. Hãy giúp tôi!

Câu trả lời:


26

Thay vì user:pass@hostname cú pháp, sử dụng thiết bị chuyển mạch. Từ wget --help:

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

Thí dụ:

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

6

Bạn cũng có thể mã hóa URL tên người dùng và / hoặc mật khẩu. Các @ biểu tượng trở thành %40

Ví dụ:

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

có thể được viết như

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

Tôi nhận ra câu hỏi này đã được giải quyết từ lâu, nhưng tôi đã thấy điều này trong khóe mắt và nghĩ rằng tôi sẽ đưa ra một giải pháp (điều này thực sự hữu ích, bởi vì nó nên hoạt động với mọi thứ sử dụng hoặc hỗ trợ sử dụng URI, chẳng hạn như FileZilla hoặc trình duyệt web.)


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.