Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > net/ftpライブラリ > Net::FTPクラス

class Net::FTP

クラスの継承リスト: Net::FTP < Object < Kernel < BasicObject

要約

FTP を実装したクラスです。

目次

特異メソッド
new open
インスタンスメソッド
abort acct binary binary= chdir close closed? connect debug_mode debug_mode= delete dir list ls get getbinaryfile getdir pwd gettextfile help last_response last_response_code lastresp login mdtm mkdir mtime nlst noop open_timeout open_timeout= passive passive= put putbinaryfile puttextfile quit read_timeout read_timeout= rename resume resume= retrbinary retrlines return_code return_code= rmdir sendcmd set_socket site size status storbinary storlines system voidcmd welcome
定数
DEFAULT_BLOCKSIZE FTP_PORT

特異メソッド

new(host = nil, user = nil, passwd = nil, acct = nil) -> Net::FTP[permalink][rdoc]

新しい Net::FTP のインスタンスを生成します。

host が指定された場合、生成されたインスタンスに対して Net::FTP#connect を呼び出し、 さらに user が指定された場合は Net::FTP#login を呼び出します。

[PARAM] host:
接続するホストを指定します。
[PARAM] user:
ログインに使うユーザ名を指定します。
[PARAM] passwd:
ログインに使うパスワードを指定します。
[PARAM] acct:
ログイン後に送る ACCT コマンドのパラメータを指定します。

[SEE_ALSO] Net::FTP.open

open(host, user = nil, passwd = nil, acct = nil) -> Net::FTP[permalink][rdoc]
open(host, user = nil, passwd = nil, acct = nil) {|ftp| ... } -> object

新しい Net::FTP インスタンスを生成します。

Net::FTP.new と異なり host を省略できません。

ブロックを与えた場合には、生成したインスタンスを ブロックに渡して呼びだします。この場合、ブロック終了時に Net::FTP#close を呼びだし、ブロックの値を 返します。

ブロックを与えなかった場合には生成したインスタンスを返します。

user が指定された場合は Net::FTP#login を呼び出します。

[PARAM] host:
接続するホストを指定します。
[PARAM] user:
ログインに使うユーザ名を指定します。
[PARAM] passwd:
ログインに使うパスワードを指定します。
[PARAM] acct:
ログイン後に送る ACCT コマンドのパラメータを指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

インスタンスメソッド

abort -> String[permalink][rdoc]

データの転送を中止します。

[RETURN]
サーバからの応答を文字列で返します。
[EXCEPTION] Net::FTPReplyError:
応答コードが正しくない場合に発生します。
acct(account) -> nil[permalink][rdoc]

サーバーに ACCT コマンドでアカウント情報を送ります。

[PARAM] account:
送りたいアカウント情報を文字列で与えます。
[EXCEPTION] Net::FTPReplyError:
応答コードが2yzでない場合に発生します。
binary -> bool[permalink][rdoc]

Net::FTP#put, Net::FTP#get による転送を バイナリモード(IMAGE)で行うかどうかを返します。

デフォルトの値は true です。

偽の場合、テキストモード(ASCII)が仮定されます。

EBCDIC や LOCAL など他の表現タイプはサポートされていません。

[SEE_ALSO] Net::FTP#binary=

binary=(bool)[permalink][rdoc]

Net::FTP#put, Net::FTP#get による転送を バイナリモード(IMAGE)で転送するかどうかを指定します。

デフォルトの値は true です。

偽の場合、テキストモード(ASCII)が仮定されます。

EBCDIC や LOCAL など他の表現タイプはサポートされていません。

[PARAM] bool:
真ならばバイナリモードを on にします。

[SEE_ALSO] Net::FTP#binary

chdir(dirname) -> nil[permalink][rdoc]

リモートサーバでのカレントディレクトリを dirname に変更します。

[PARAM] dirname:
変更先のディレクトリを与えます。
[EXCEPTION] Net::FTPReplyError:
応答コードがエラーである場合に発生します。カレントディレクトリ変更に失敗した場合に発生します。
close -> ()[permalink][rdoc]

サーバとの接続を切ります。

再び Net::FTP#connect で接続しない限り 一切の操作が不可能になります。

closed? -> bool[permalink][rdoc]

接続が切れている時に真を返します。

connect(host, port = FTP_PORT) -> ()[permalink][rdoc]

host で指定されたホストに接続します。

環境変数 SOCKS_SERVER が指定されている場合、SOCKS プロクシを 経由して接続します。

これを呼びだす前に通信をしようとすると、 Net::FTPConnectionError 例外が発生します。

[PARAM] host:
接続するホスト名です。
[PARAM] port:
接続するポート番号です。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。
debug_mode -> bool[permalink][rdoc]

デバッグモードであれば真を、そうでなければ偽を返します。

値が真であるとき、送受信の記録と ABOR, STAT の結果が $stdout に随時表示されます。

デフォルトは偽です。

[SEE_ALSO] Net::FTP#debug_mode=

debug_mode=(boolean)[permalink][rdoc]

デバッグモードの on/off を設定します。

[PARAM] boolean:
真ならばデバッグモードを on にします。

[SEE_ALSO] Net::FTP#debug_mode

delete(filename) -> nil[permalink][rdoc]

ファイルを削除します。

リモートサーバ上の fromname という名前のファイルを削除します。

削除に失敗した場合には 例外が発生します。

[PARAM] filename:
削除するファイルの名前を与えます。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz であった場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが 5yz 以外で正しくない場合に発生します。
list(*args) -> [String][permalink][rdoc]
list(*args) {|line| ... } -> nil
ls(*args) -> [String]
ls(*args) {|line| ... } -> nil
dir(*args) -> [String]
dir(*args) {|line| ...} -> nil

LIST コマンドを送信し、結果を返します。

ブロックとともに呼び出された場合は各行に対してブロックを 実行します。ブロックなしの場合には文字列の配列で結果を返します。

[PARAM] args:
LIST の引数を文字列で渡します。複数渡すことができます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。
get(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) -> nil[permalink][rdoc]
get(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) { |data| .... } -> nil

サーバ上のファイルを取得します。

Net::FTP#binary の値に従って Net::FTP#getbinaryfile もしくは Net::FTP#gettextfile を呼びだします。

binary が偽のとき、つまりテキストモードの ときには blocksize は無視されます。

[PARAM] remotefile:
取得対象のリモートのファイル名を与えます。
[PARAM] localfile:
取得したデータを格納するローカルのファイル名を与えます。
[PARAM] blocksize:
データ転送の単位をバイト単位で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。
getbinaryfile(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) {|data| ...} -> nil[permalink][rdoc]
getbinaryfile(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE) -> nil

サーバ上のファイルをバイナリモードで取得します。

サーバー上にある remotefile という名前のファイルを取得し、 ローカルの localfile という名前のファイルに保存します。

localfile が nil である場合には保存はしません。

データの転送は blocksize バイト毎に行なわれます。

ブロックが指定された場合は データを blocksize バイト受信するごとに、そのデータを ブロックに渡します。

[PARAM] remotefile:
取得対象のリモートのファイル名を与えます。
[PARAM] localfile:
取得したデータを格納するローカルのファイル名を与えます。
[PARAM] blocksize:
データ転送の単位をバイト単位で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。
pwd -> String[permalink][rdoc]
getdir -> String

カレントディレクトリを返します。

[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。
gettextfile(remotefile, localfile = File.basename(remotefile)) -> nil[permalink][rdoc]
gettextfile(remotefile, localfile = File.basename(remotefile)) {|line| ...} -> nil

サーバ上のファイルをテキストモードで取得します。

サーバー上にある remotefile という名前のファイルを取得し、 ローカルの localfile という名前のファイルに保存します。

localfile が nil である場合には保存はしません。

ブロックが指定された場合は データを1行受信するごとに、その行をブロックに渡します。

[PARAM] remotefile:
取得対象のリモートのファイル名を与えます。
[PARAM] localfile:
取得したデータを格納するローカルのファイル名を与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。
help(arg = nil) -> String[permalink][rdoc]

サーバからの help 情報を返します。

[PARAM] arg:
HELP コマンドのパラメータを指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
last_response -> String[permalink][rdoc]

サーバからの最後の応答を文字列で返します。

例えばログイン(Net::FTP#login)に成功した場合には "230 Login successful.\n" を返します。

[SEE_ALSO] Net::FTP#last_response_code

lastresp -> String[permalink][rdoc]
last_response_code -> String

サーバからの最後の応答のコードを文字列で返します。

例えばログイン(Net::FTP#login)に成功した場合には "230" を返します。

数字の意味は [RFC959] 参照してください。

[SEE_ALSO] Net::FTP#last_response

login(user = "anonymous", passwd = nil, acct = nil) -> ()[permalink][rdoc]

ホストへのログイン処理を行ないます。

このメソッドはホストへの接続後にしか使えません。

user, passwd が省略された場合、ユーザ名 "anonymous", パスワード user@host となります。

acct を省略しなかった場合には、 ACCT コマンドを acct で指定したパラメータで送ります。

[PARAM] user:
ログインに使うユーザ名を指定します。
[PARAM] passwd:
ログインに使うパスワードを指定します。
[PARAM] acct:
ログイン後に送る ACCT コマンドのパラメータを指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。
mdtm(filename) -> String[permalink][rdoc]

MDTM コマンドを送信し、結果を返します。

[PARAM] filename:
コマンドを発行したいファイル名を文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
mkdir(dirname) -> String[permalink][rdoc]

リモートサーバ上にディレクトリを作成します。

作成に失敗した場合には例外が発生します。

[PARAM] dirname:
作成するディレクトリ名を文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。
mtime(filename, local = false) -> Time[permalink][rdoc]

filename の更新時刻を Time オブジェクトで返します。

local を真とすると、得られた更新時刻を地方時とみなします。 偽の場合は更新時刻を協定世界時とみなします。

[PARAM] filename:
更新時刻を得たいファイルの名前を文字列で与えます。
[PARAM] local:
返り値の時刻を地方時とみなすかどうかを真偽値で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。
nlst(dir = nil) -> [String][permalink][rdoc]

dir で指定したディレクトリのファイルの配列を返します。

dir を省略した場合カレントディレクトリが指定されます。

[PARAM] dir:
ディレクトリを文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。
noop -> nil[permalink][rdoc]

NOOP コマンドを発行します。

サーバから応答が得られる他は何もしません。

[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外でエラーである場合に発生します。
open_timeout -> Numeric|nil[permalink][rdoc]

接続時のタイムアウトの秒数を返します。

制御用コネクションとデータ転送用コネクションの 両方を開くときの共通のタイムアウト時間です。

この秒数たってもコネクションが 開かなければ例外 Net::OpenTimeout を発生します。 整数以外での浮動小数点数や分数を指定することができます。 デフォルトは nil(タイムアウトしない)です。

[SEE_ALSO] Net::HTTP#read_timeout, Net::HTTP#open_timeout=

open_timeout=(seconds)[permalink][rdoc]

接続時のタイムアウトの秒数を設定します。

制御用コネクションとデータ転送用コネクションの 両方を開くときの共通のタイムアウト時間です。

この秒数たってもコネクションが 開かなければ例外 Net::OpenTimeout を発生します。 整数以外での浮動小数点数や分数を指定することができます。 デフォルトは nil(タイムアウトしない)です。

制御用コネクションを開く以下のメソッドで利用されます。

また、以下のデータ転送用コネクションを開くメソッドでも利用されます。

[PARAM] second:
待つ秒数を指定します。

[SEE_ALSO] Net::HTTP#read_timeout, Net::HTTP#open_timeout

passive -> bool[permalink][rdoc]

passive モードであるならば真を、そうでなければ 偽を返します。

デフォルトは偽です。

[SEE_ALSO] Net::FTP#passive=

passive=(bool)[permalink][rdoc]

passive モードを設定します。

[SEE_ALSO] Net::FTP#passive

put(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) -> nil[permalink][rdoc]
put(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) { |data| .... } -> nil

サーバへファイルを転送します。

Net::FTP#binary の値に従って Net::FTP#putbinaryfile もしくは Net::FTP#puttextfile を呼びだします。

binary が偽のとき、つまりテキストモードの ときには blocksize は無視されます。

[PARAM] localfile:
転送するローカルのファイル名を与えます。
[PARAM] remotefile:
転送データを保存するリモートのファイル名を与えます。
[PARAM] blocksize:
データ転送の単位をバイト単位で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。
putbinaryfile(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) -> nil[permalink][rdoc]
putbinaryfile(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) {|data| ...} -> nil

サーバにファイルをバイナリモードで転送します。

ローカルの localfile という名前のファイルを読みだし、 サーバー上の remotefile という名前のファイルに保存します。

データの転送は blocksize バイト毎に行なわれます。

ブロックが指定された場合は データを blocksize バイト転送するごとに、そのデータを ブロックに渡します。

[PARAM] localfile:
転送するローカルのファイル名を与えます。
[PARAM] remotefile:
転送データを保存するリモートのファイル名を与えます。
[PARAM] blocksize:
データ転送の単位をバイト単位で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。
puttextfile(localfile, remotefile = File.basename(localfile)) -> nil[permalink][rdoc]
puttextfile(localfile, remotefile = File.basename(localfile)) {|line| ... } -> nil

サーバにファイルをテキストモードで転送します。

ローカルの localfile という名前のファイルを読みだし、 サーバー上の remotefile という名前のファイルに保存します。

ブロックが指定された場合は データを1行転送するごとに、その行を ブロックに渡します。

[PARAM] localfile:
転送するローカルのファイル名を与えます。
[PARAM] remotefile:
転送データを保存するリモートのファイル名を与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。
quit -> nil[permalink][rdoc]

FTP のセッションからログアウトします。

read_timeout -> Numeric|nil[permalink][rdoc]

読み込み一回でブロックしてよい最大秒数 を返します。

この秒数たっても読みこめなければ例外 Net::ReadTimeout を発生します。整数以外での浮動小数点数や分数を指定することができます。 デフォルトは 60 (秒)です。

[SEE_ALSO] Net::HTTP#open_timeout, Net::HTTP#read_timeout=

read_timeout=(seconds)[permalink][rdoc]

読み込み一回でブロックしてよい最大秒数を 設定します。

この秒数たっても読みこめなければ例外 Net::ReadTimeout を発生します。整数以外での浮動小数点数や分数を指定することができます。 デフォルトは 60 (秒)です。

このタイムアウト秒数は、サーバとやりとりする ほとんどの Net::FTP のメソッドで有効です。

[PARAM] second:
待つ秒数を指定します。

[SEE_ALSO] Net::HTTP#open_timeout, Net::HTTP#read_timeout

rename(fromname, toname) -> nil[permalink][rdoc]

ファイルをリネームします。

リモートサーバ上の fromname という名前のファイルを toname という名前に変更します。

[PARAM] fromname:
変更前のファイル名を与えます。
[PARAM] toname:
変更後のファイル名を与えます。
[EXCEPTION] Net::FTPReplyError:
応答コードが正しくない場合に発生します。リネームに失敗した場合に発生します。
resume -> bool[permalink][rdoc]

現在のリジュームモードの状態を返します。

リジュームモードが有効であるならば、 いくつかの転送メソッドにおいて 転送が中断され不完全な転送しかできなかった場合に 再開が可能になります。

デフォルトは false です。

転送の中断と再開が可能なのは以下のメソッドです。

転送が中断したかどうかは転送先に問題のファイルが存在するか どうかで判定され、そのファイルサイズで再開する位置を 決めます。

[SEE_ALSO] Net::FTP#resume=

resume=(boolean)[permalink][rdoc]

現在のリジュームモードを設定します。

[PARAM] boolean:
trueならばリジュームモードを on にします。

[SEE_ALSO] Net::FTP#resume

retrbinary(cmd, blocksize, rest_offset = nil) -> nil[permalink][rdoc]
retrbinary(cmd, blocksize, rest_offset = nil) {|data| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、バイナリデータを 取り寄せます。

blocksize で指定されたバイト単位でデータを 読み込み、ブロックに渡します。

rest_offset が省略されなかった場合は、cmdを送る前に REST コマンドを送り、指定したバイト数の位置から 転送を開始します。

[PARAM] cmd:
コマンドを文字列で与えます。
[PARAM] blocksize:
読み込み単位をバイト単位で与えます。
[PARAM] rest_offset:
REST コマンドに与えるオフセットを与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

[SEE_ALSO] Net::FTP#getbinaryfile

retrlines(cmd) {|line| ...} -> nil[permalink][rdoc]

サーバーに cmd で指定されたコマンドを送り、テキストデータを 取り寄せます。

一行ずつテキストを読み込み、ブロックに渡します。

[PARAM] cmd:
コマンドを文字列で与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

[SEE_ALSO] Net::FTP#gettextfile

return_code -> String[permalink][rdoc]

このメソッドは obsolete です。使わないでください。

"\n" を返します。

return_code=(string)[permalink][rdoc]

このメソッドは obsolete です。使わないでください。

rmdir(dirname) -> nil[permalink][rdoc]

リモートサーバ上のディレクトリを削除します。

[PARAM] dirname:
削除するディレクトリ名を文字列で指定します。
[EXCEPTION] Net::FTPReplyError:
応答コードが正しくない場合に発生します。削除に失敗した場合に発生します。
sendcmd(cmd) -> String[permalink][rdoc]

cmd で指定されたコマンドをサーバーに送り、 サーバーからの応答を返します。

[PARAM] cmd:
コマンドを文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
set_socket(sock, get_greeting = true) -> nil[permalink][rdoc]

FTP のコントロール接続の ソケットを TCPSocket オブジェクト sock に設定します。

get_greeting に偽が与えられると、 set_socket は通信先を設定するだけで sock に対する操作を 何も行ないません。 get_greeting が真ならば、通信先を sock に 設定したあと、通常FTPサーバが接続時に送ってくるメッセージを読み込みます。

通常このメソッドは使うべきではありません。このライブラリの 実装を理解した上で必要な場合のみ利用してください。

[PARAM] sock:
コントロール接続に使うソケットを指定します。
[PARAM] get_greeting:
ソケットを設定した後接続時メッセージをソケットから読みこむかどうかを指定します。
site(arg) -> nil[permalink][rdoc]

SITE コマンドを発行します。

[PARAM] arg:
SITEコマンドのパラメータを指定します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外でエラーである場合に発生します。
size(filename) -> Integer[permalink][rdoc]

リモートサーバ上のファイルのサイズを返します。

[PARAM] filename:
サイズを調べたいファイル名を与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。
status -> String[permalink][rdoc]

現在の状態を返します。

[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
storbinary(cmd, file, blocksize, rest_offset = nil) -> nil[permalink][rdoc]
storbinary(cmd, file, blocksize, rest_offset = nil) {|data| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、バイナリデータを 送ります。

送るデータは IO のインスタンスを file で指定します。 (実際には StringIO のような IO とメソッドレベルで 互換するオブジェクトであればなんでもかまいません)。

blocksize で指定されたバイト単位で file からデータを読みこみ、 サーバに送ります。

rest_offset が省略されなかった場合は、cmdを送る前に REST コマンドを送り、指定したバイト数の位置から 転送を開始します。

ブロックが指定された場合には、転送するデータを blocksize ごとに ブロックにも渡します。

[PARAM] cmd:
コマンドを文字列で与えます。
[PARAM] file:
送るデータを与えます。
[PARAM] blocksize:
読み込み単位をバイト単位で与えます。
[PARAM] rest_offset:
REST コマンドに与えるオフセットを与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

[SEE_ALSO] Net::FTP#putbinaryfile

storlines(cmd, file) -> nil[permalink][rdoc]
storlines(cmd, file) {|line| ...} -> nil

サーバーに cmd で指定されたコマンドを送り、テキストデータを 送ります。

一行ずつで file からテキストを読み込み、サーバーに送ります。

送るデータは IO のインスタンスを file で指定します。 (実際には StringIO のような IO とメソッドレベルで 互換するオブジェクトであればなんでもかまいません)。

ブロックが与えられた場合には各行をそのブロックに渡します。

[PARAM] cmd:
コマンドを文字列で与えます。
[PARAM] file:
送るデータを与えます。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合(1xy, 3xyが来るべきでないときに来た場合など)に発生します。

[SEE_ALSO] Net::FTP#puttextfile

system -> String[permalink][rdoc]

サーバーの OS のタイプを返します。

[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外でエラーである場合に発生します。
voidcmd(cmd) -> nil[permalink][rdoc]

cmd で指定されたコマンドをサーバーに送ります。

[PARAM] cmd:
コマンドを文字列で指定します。
[EXCEPTION] Net::FTPReplyError:
応答コードが 2yz 以外の場合に発生します。
welcome -> String[permalink][rdoc]

サーバのウェルカムメッセージを返します。

このメッセージはログイン(Net::FTP#login)時に サーバから送られます。

定数

DEFAULT_BLOCKSIZE -> Integer[permalink][rdoc]

get, put をするときのデフォルトのブロックサイズです。

FTP_PORT -> Integer[permalink][rdoc]

FTPのデフォルトのポート番号(21)です。