コマンドラインからFTPサーバーからいくつかのファイルを取得しようとしています。 wgetを使用して、フォルダー全体を一度にダウンロードしています。コマンドは次のとおりです。
wget -m ftp://username:[email protected]:/path/to/folder
しかし問題は、私のパスワードに「@」記号が含まれていることです。したがって、コマンドは次のようになります
wget -m ftp://username:foo@[email protected]:/..
そのため、wgetは[email protected]をホストとして削除しようとしますが、それはできません。助けてください!
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@[email protected]:/..
次のように書くことができます
wget -m ftp://username:foo%[email protected]:/..
私はこの質問がずっと前に解決されたことに気づきましたが、私はこれを私の目の隅に見て、解決策を投げると思いました(これは実際に便利です。 FileZillaまたはWebブラウザ。)