커맨드 라인에서 내 ftp 서버에서 일부 파일을 가져 오려고합니다. wget을 사용하여 전체 폴더를 한 번에 다운로드하고 있습니다. 명령은 다음과 같습니다.
wget -m ftp://username:password@ftp.hostname.com:/path/to/folder
그러나 문제는 내 비밀번호에 ‘@’기호가 포함되어 있다는 것입니다. 따라서 명령은
wget -m ftp://username:foo@bar@ftp.hostname.com:/..
이로 인해 wget은 bar@ftp.hostname.com을 호스트로 다시 이동 시키려고 시도합니다. 도와주세요!
답변
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
답변
사용자 이름 및 / 또는 비밀번호를 URL 인코딩 할 수도 있습니다. 그만큼@
상징이된다%40
예를 들면 다음과 같습니다.
wget -m ftp://username:foo@bar@ftp.hostname.com:/..
로 쓸 수 있습니다
wget -m ftp://username:foo%40bar@ftp.hostname.com:/..
나는이 질문이 오래 전에 해결되었다는 것을 알고 있지만 내 눈앞에서 이것을 보았고 해결책을 던질 것이라고 생각했다. 이것은 URI를 사용하거나 지원하는 모든 것과 작동해야하기 때문에 실제로 유용하다 FileZilla 또는 웹 브라우저)
답변
wget -m –ftp-user = 사용자 이름 –ftp-password = foo @ bar ftp://ftp.hostname.com/file -O / path_to_file / dest_file_name