- 締切済み
FTPプログラムについて
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- askaaska
- ベストアンサー率35% (1455/4149)
Yes ctrlOutput.println("lcd " + dirName); ctrlOutput.flush(); でOKよ そもそもcdもlcdも使う必要ないのよね つかわなくったってファイルは いくらでも指定できるんだから
- askaaska
- ベストアンサー率35% (1455/4149)
どんな実装しているのかわからないので 助言のしようがないわ。 とりあえずSocketで説明すると サーバ上のファイルをSocket#getInputStreamで取得したら あとは単純にOutPutStreamでローカルに書き出すだけよ。 lcdの機能を実装するのなら 設定されたlcdを変数にでも格納しておけば FileOutputStreamで指定する出力先に lcdで指定された対象を選ぶだけね。
お礼
お返事ありがとうございます。 拙い説明で申し訳ありません。 ソースは以下のように作っているのですが // 接続 ctrlSocket = new Socket(host, CTRLPORT); localHostAddress = ctrlSocket.getLocalAddress().getAddress(); ctrlOutput = new PrintWriter(ctrlSocket.getOutputStream()); ctrlInput = new BufferedReader(new InputStreamReader(ctrlSocket.getInputStream())); // ユーザー認証 ctrlOutput.println("USER " + loginName); ctrlOutput.flush(); ctrlOutput.println("PASS " + password); ctrlOutput.flush(); // 指定したディレクトリに移動します ctrlOutput.println("CWD " + dirName); ctrlOutput.flush(); ・ ・ ・ ここで ctrlOutput.println("lcd " + dirName); ctrlOutput.flush(); のようにすればよいということでしょうか?
関連するQ&A
- FTPコマンドについて
OSは2000Serverを使っています。コマンドプロンプトから入力するFTPコマンドにつき、二つ質問があります。 (1)ローカル(自分の端末)のあるディレクトリ配下すべてのディレクトリ・フォルダまるごとをFTPでアップロードしたい際、コマンドでなんと入力すればよろしいですか? (mput *ではすべてのファイルを転送するもののディレクトリは転送しないためmkdirでディレクトリを作成し、それぞれにmputするということしかできないのでしょうか?) (2)ログインするとC:に自分がいます。!dirでC直下のディレクトリを見るとたくさんありますが中でもDocuments and SettingsとProgram Filesについてはlcdで場所を移動できません。デスクトップにあるファイルを転送したいときなど、Documents and Settingsの下にいく必要がありますがどうすれば移動できますか?
- ベストアンサー
- Windows NT・2000
- FTPのエラーメッセージで質問です。
FTPでエラーメッセージについて質問です。 UNIX上でFTPコマンドを発行するのですが、 open localhost user aaa bbb でログインした後、以下の2つのコマンドを発行します。 sssというディレクトリはありません。 lcd sss cd sss ftp> lcd sss sss: ファイルもディレクトリもありません。 ftp> cd sss 550 sss: No such file or directory. となり、英語と日本語が混在してしまいます。 シェルでは、エラーメッセージの一部をgrepして トラップさせているのですが、日本語もあるためうまくいきません。 そこで、export LANG=ja_JP.UTF-8 だったのを export LANG=C に変えたところ ftp> lcd sss sss: No such file or directory ftp> cd sss 550 sss: No such file or directory. となり英語になりました。 そこで質問です。 (1)LANG=UTF8にしてる時、cd sss は何故lcd sssのエラーと異なり 英語なのでしょうか。 (2)cd sssは550のコードを返すのに何故 lcd sssはコードを かえさないのでしょうか。 ご教示ください。
- 締切済み
- その他([技術者向] コンピューター)
- JAVAにFTP転送をサポートしているクラスはありますか
この度、JAVAでFTP送信を行うプログラムを開発することになりました。私自身がプログラムを開発する訳ではありません。又、私自身はJAVAについてはよく知りません。というのが前提です。 指定されたファイルを指定されたIPアドレスへFTP送信するプログラムをJAVAで作る場合、FTP送信をサポートしているクラスはJAVAにあるのでしょうか。イメージとしては、そのクラスを呼び出して、FTPコマンドのPUTコマンドに相当するようなメソッドを呼び出せれば良いと考えています。又、転送エラーが発生した場合のエラーのハンドリングは必須です。ちなみに、C言語では、私が調査した結果では、そのようなクラス(API)はないので、ソケットライブラリでFTPプロトコルに従って一からの作り込みとなります。本件の質問の意図はJAVAでFTP転送のプログラムを開発する時の作業量を見積もっておきたい為です。(FTP転送のクラスがあれば、簡単に開発できるが、なければそれなりの作業量が発生すると考えています)
- ベストアンサー
- Java
- telnetでFTPでファイルをアップロードしたいのですが
telnetでFTPでファイルをアップロードしたい のですが、どうしても、そんなファイルは存在 しませんとでてしまいます。 これは、どういう風に送りたいファイルを記述 すればいいのでしょうか? ftp>send 送りたいファイル 送りたいファイルがDドライブの中のaaaという所 にあり、その中にあるCGIをFTPでアップ したいのです。 それは、コマンドプロンプトで指定してあげたい のですが、ローカル部分をどう記述していいのか わかりません。 教えて下さい。
- ベストアンサー
- その他(OS)
- FTPによるファイル取得について
一定の間隔であるサーバに接続し、画像ファイルを取得するプログラムを作成しています。 C言語で作成されたプログラムより、以下のようなシェルを実行し、画像ファイルを取得することを考えています。 ----------------------------- #!/bin/sh ftp -in <<EOL open 接続先IPアドレス user ユーザ名 パスワード lcd ローカルのディレクトリ cd リモートのディレクトリ mget data[ABC]_${d}.tar.gz quit EOL ----------------------------- ここで、以下のような問題に悩んでいます。 1.上記シェルを実行し、まさにFTPを行っているとき、LAN断などにより遠隔サーバとの接続が切れたときに、だんまり状態となってしまう。 2.FTPが成功した場合、取得したファイルの正当性が保証されるのか?せめてファイルサイズチェックだけでも行いたいが、FTP実行前にファイルのサイズが取得できるか?
- ベストアンサー
- Linux系OS
- ftpの操作について・・・
最近コマンドをいじるようになりましたが、 ftpでどうもつまづいています。 詳しい方がいましたら、いくつかまとめてお聞きしたいです。 最近ホームページを作ろうと思いまして、日々ftpの努力を致しております。 よろしくお願いします。 質問 (1) ftp時のputコマンドについて、 送り先のフォルダー(ディレクトリー)を指定できないのですか? ftp>put index.html /web 200 PORT command successful 550 /web: Not a regular file と言うエラーになる。 エラー内容 : 要求されたリクエストはアクセス権限やファイルシステムの理由で実行できない ※ほかに何か指定して、使うのですか? (2)ftp時、> が無い時は何を意味しているのですか? たとえば、 ftp>227 (IP) _ ←(ここ) cat時などは、ファイルの内容を書くと思いますが、 使い方が解らないときがあります。 良かったらよろしくお願いします。 (3)webで検索をかけると、ftp時に、LISTやモードを切り替える、passive など、いろんなコマンドがあるのですが、使おうとすると「コマンドが無効です。」 と出たりするのはなぜですか? ※コマンドプロンプトで検索して、?やHelpに無いコマンドで説明してあったりする。 よろしくお願いします。
- ベストアンサー
- その他(インターネット・Webサービス)
- FTPのPUTコマンドについて
例:PUT D:\FTPDIR\TEST FTPの上記のコマンドについて質問があります。 (1)ローカル側のD:\FTPDIR配下のTESTというファイルを、 リモート側にアップロードするという意味で合っていますでしょうか? (2)PUTでリモート側にアップロードしたファイルは、 特に何も指定していない場合、通常どのパスにアップロードされますか? また、どこにアップロードされたかはログか何かで分かりますか?
- ベストアンサー
- その他(インターネット・Webサービス)
- FTPの連続実行でフリーズする
UNIX + Cで作成しています。 あるプログラムで、FTPコマンド※を発行し、 遠隔のサーバ(サーバはLINUX)に置かれているファイルを取得しようとしています。 ※system("FTP ~~~ bye") 単発でファイルを取得する場合は問題ないのですが、 連続してファイルを取得しようとした場合、数時間動きつづけた後、 FTPコマンドを発行した状態でフリーズしてしまう現象が起こります。(100%かは分かりませんが、再現性はあります。) なぜこのような現象が起こるのでしょうか? 連続してのFTPコマンド発行は問題があるのでしょうか?
- 締切済み
- C・C++・C#
- ftpコマンドの戻り値をチェックしたい
現在業務でftpコマンドを用いたバックアップシェルを作成しております。(RHEL4) クーロンでシェルAを呼び、シェルA内でftpコマンド発行→ファイルB内のftpコマンドを実行→シェルAに戻る、という仕様ですが、このftpコマンドが成功したのか失敗したのかをプログラム上で判断する方法はありますでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
お礼
お返事、ありがとうございます。 String line = ctrlInput.readLine(); などで、lineの中の三桁の応答コードを抽出してみますと 500(エラー)がかえってきます・・・。 lcdは駄目なのかと思いました・・・でもできるのですね。 前後処理に問題がないか見直してみます。 >そもそもcdもlcdも使う必要ないのよね これについて、よろしければ教えていただけますでしょうか? それは、例えば STOR C:\aaa\bbb\file.txt のように、ファイルをパスごと指定してしまえば よいということでしょうか? プログラムではない、PUTコマンドなどではできるようですが プログラムではできないような気がしまして・・・。