- - PR -
perlでFTP_PUTを作っていますが!
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-08-04 19:54
ActivePerl 5.2.2をwindows2000から使っています。
perlは初心者ですが今、本やNETを検索しftpの機能を作っています。 perlで作ったプログラムをコマンドプロンプトから起動しています。 ftpサーバーへの接続及びユーザー認証も成功し、ftpコマンドで言う、USER/PASS/SYST/CWD/TYPE/PASV/STOR/QUITも正しく動作しています。 只、ホストファイル名を指定して、PUT aaa bbbを発行するとaaa bbbと言うファイル名でftpサーバーに格納されてしまいます。 なお、ファイル名aaa bbbの中身はaaaの中身なのでファイル名がbbbにする方法が判りません。 因みにコマンドプロンプトからftpコマンドでPUT aaa bbbを実行すると正しく、ファイル名bbbで格納されます。 コマンドの書き方は同じなのですが何が悪いのでしょうか? |
|
投稿日時: 2004-08-06 17:11
補足です。
「PUT」と書いていましたが、実際に投げているのは「STOR」でした。 print $sock "STOR @prm\n" --> $cmdにSTOR @prm にaaa bbbが入っています。 因みに次の様にSTORをPUTに変えてもエラーと成ってしまうので、今はリモートファイルの指定がある時はリネームさせています。 500 'PUT aaaa.dat ffff.dat': command not understood Netを検索しているとコマンドの説明に<ファイル名>とのみ書いて有ったり、 ローカルファイル名 リモートファイル名と書かれたものも有ったりで実際にコマ ンドプロンプトからPUT aaa bbbで正しくbbbのファイルが出来るの ですからプログラムが悪いのだとは思うのですが! |
|
投稿日時: 2004-08-12 11:21
一応、解決しました。
PUT(STOR)の発行でbbbを指定し、データ転送のIN側でaaaを指定することでなんとか出来ました。 以上 |
|
投稿日時: 2004-09-28 15:07
解決されたそうなので蛇足なのですが、
FTP プロトコルのコマンドと FTP クライアントのコマンドは異なるので、 FTP クライアントから PUT で出来たといっても確認になっていないかと。 |
1
