web-dev-qa-db-ja.com

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

コマンドラインからFTPサーバーからいくつかのファイルを取得しようとしています。 wgetを使用して、フォルダー全体を一度にダウンロードしています。コマンドは次のとおりです。

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

しかし問題は、私のパスワードに「@」記号が含まれていることです。したがって、コマンドは次のようになります

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

そのため、wgetは[email protected]をホストとして削除しようとしますが、それはできません。助けてください!

15
roopunk

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
30
Dennis

ユーザー名やパスワードをURLエンコードすることもできます。 @記号は%40になります

例えば:

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

次のように書くことができます

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

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

7
John Chadwick