@を含むパスワードを使用したftpのwget


14

コマンドラインから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をホストとして再配置しようとしますが、ホストを再配置することはできません。助けてください!

回答:


29

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:/.. 

私はこの質問がずっと前に解決されたことに気づきましたが、これを目の隅で見て、解決策を投げると思いました(これは実際には便利です。なぜなら、 FileZillaまたはWebブラウザ。)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.