質問者
Winows10でのFTPコマンド実行時の振る舞いについて

質問
-
Windows7とWindows10でのFTPコマンド実行時の振る舞いの違いについて質問させてください。
Windows10端末にて、あるFTPサーバに向けてFTPコマンドを実行した際に、裏で「OPT UTF8 ON」コマンドが発行されてしまいます。
具体的には以下のような動作となりました。
※太字がユーザーが実行したコマンドになります。
※OPTS UTF8 ONについてはユーザーは入力しておりませんが、
Windows10OS側で自動て勝手に発行されます。)
-【windows10】-------------------------------------------------------------
>ftp -d
ftp> open <IPアドレス> <ポート番号>
<IPアドレス> に接続しました
220 Service ready for new user
--->OPTS UTF8 ON
500 Command not understood
ユーザー (<IPアドレス>:(none)):<ユーザー名>
---> USER <ユーザー名>
接続がリモート ホストによって閉じられました。--------------------------------------------------------------
windows7端末で同じFTPサーバに対して同じコマンドを実行してもOPTS UTF8 ONコマンドは発行されません。
以下がwindows7にて同じコマンドを実行した際の動きになります。
-【windows7】-------------------------------------------------------------
>ftp
ftp> open <IPアドレス> <ポート番号>
<IPアドレス> に接続しました。
220 Service ready for new user
ユーザー (<IPアドレス>:(none)): <ユーザー名>
331 Password required for <ユーザー名>
パスワード:<パスワード>
230 User logged in, proceed--------------------------------------------------------------
FTPコマンド実行時において、windows10でもwindows7と同様にOPTS UTF8 ONコマンドを発行しないようにする方法をご教授頂けますでしょうか。
お手数をお掛け致しますが、何卒よろしくお願いいたします。
すべての返信
-
100% の確信をもって回答するわけではないのですが・・・
自宅 NAS にて試したところ、おっしゃっているとおり OPTS UTF8 ON が表示されましたが、
ユーザー名とパスワードを入力し、問題なく FTP サーバーに接続できました。
表示される OPTS UTF8 ON は、
クライアントが UTF8 に対応している(ASCII 7-bit 以外のファイル名も扱える)という、
FTP サーバーからの返答だと思います。
FTP サーバーで Unicode サポートを無効にしてみたところ、次の応答が帰ってきました。
ご質問を否定するつもりではないので、ご容赦いただきたいのですが、
OPTS UTF8 ON が表示されることで何か問題があるのでしょうか?
なお、上述の推測は次の記事を参考にしました。
Character Encoding
以上です。
- 編集済み Ashidacchi 2016年3月10日 10:32
-
kenjinote さん、ご回答ありがとうございます。
FTPサーバーにログインする前に
--->OPTS UTF8 ON
のコマンドが発行されるため、FTPサーバーにログインもできない状態です。
(FTPサーバー側の仕様で接続を切ってしまいます)
FTPサーバーがOPTSコマンド未対応のものなので、Windows10端末のクライアントからFTPサーバーへFTP接続をする際に、
クライアントがWindows7端末である場合と同様に OPTSコマンドを発行しないように制御したいのですが、
良い方法はありませんでしょうか。
FTPサーバーを変更することは諸事情により困難でして、クライアント側で制御するしかない状況です。
-
open コマンドの直後 ユーザー名 を入力するようになるか思いますが、何も入力せず、いったんEnterキーを押し、その後コマンド「quote opts utf8 off」を入力し、もう一度「user」コマンドでログインしてみてはどうでしょうか?
C:\>ftp
ftp> open
宛先 ftp.example.com
ftp.example.com に接続しました。
220 ProFTPD 1.3.2d Server (ftp.example.com) [xxx.xxx.xxx.xxx]
200 UTF8 set to on
ユーザー (ftp.example.com:(none)):
500 USER: command requires a parameter
ログインできませんでした。
ftp> quote opts utf8 off
200 UTF8 set to off
ftp> user
ユーザー名 user@example.com
331 Password required for user@example.com
パスワード:
230 User user@example.com logged in
ftp>こちらで再現できていないため成功するかどうかはわかりませんが・・・
-
何度もすみません。ftpの起動オプションに「-n」(openのあと自動ログインを求めない)というものがありました。
C:\>ftp -n
ftp> open
宛先 ftp.example.com
ftp.example.com に接続しました。
220 ProFTPD 1.3.2d Server (ftp.example.com) [xxx.xxx.xxx.xxx]
200 UTF8 set to on
ftp> quote opts utf8 off
200 UTF8 set to off
ftp> user
ユーザー名 user@example.com
331 Password required for user@example.com
パスワード:
230 User user@example.com logged in
ftp>
こちらではどうでしょうか?- 編集済み kenjinoteMVP 2016年3月10日 10:34
-
kenjinoteさん、再度ご回答ありがとうございます。
教えて頂いた手順で実行してみましたが、やはり、FTPサーバーがそもそもOPTSコマンドを認識しないため、ダメでした。
以下実行してみた内容です。(太字が入力した所です)
------------------------------------------------
>ftp -dn
ftp>open
宛先 <何も打たずにENTERキー押下>
使用法: open ホスト名 [ポート]
ftp>quote opts utf8 off
接続されていません。
------------------------------------------------
以上となります。
- 編集済み M_JU2016 2016年3月10日 10:39
-
上手く説明できておらず申し訳ございません。
宛先ではサーバー名の入力をお願いします。
(以下太字が入力項目です。)
ftp> open <サーバー名を入力>
ftp.example.com に接続しました。
220 ProFTPD 1.3.2d Server (ftp.example.com) [xxx.xxx.xxx.xxx]
---> OPTS UTF8 ON
200 UTF8 set to on
ftp> quote opts utf8 off
---> opts utf8 off
200 UTF8 set to off
ftp> user <ユーザー名を入力>
---> USER user@example.com
331 Password required for user@example.com
パスワード: <パスワードを入力>
---> PASS XXXXXXXX
230 User user@example.com logged in
ftp>
- 回答の候補に設定 栗下 望Microsoft employee, Moderator 2016年12月27日 4:05