class Net::FTP

[edit]

要約

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

目次

特異メソッド
インスタンスメソッド
定数

特異メソッド

default_passive -> bool[permalink][rdoc][edit]

FTPの接続のグローバルなデフォルトモードが passive mode である場合に true を返します。

default_passive=(on)[permalink][rdoc][edit]

passive mode をFTPの接続のグローバルなデフォルトモードにするかどうかを設定します。

デフォルト値は true です。

[PARAM] on:
true ならばデフォルトを passive mode に、false ならばデフォルトを active mode にします
new(host = nil, user = nil, passwd = nil, acct = nil) -> Net::FTP[permalink][rdoc][edit]

新しい 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][edit]
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][edit]

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

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

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

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

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

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

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

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

[SEE_ALSO] Net::FTP#binary=

binary=(bool)[permalink][rdoc][edit]

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

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

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

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

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

[SEE_ALSO] Net::FTP#binary

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

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

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

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

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

closed? -> bool[permalink][rdoc][edit]

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

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

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][edit]

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

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

デフォルトは偽です。

[SEE_ALSO] Net::FTP#debug_mode=

debug_mode=(boolean)[permalink][rdoc][edit]

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

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

[SEE_ALSO] Net::FTP#debug_mode

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

ファイルを削除します。

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

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

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

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

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

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

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

[SEE_ALSO] Net::FTP#last_response_code

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

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

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

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

[SEE_ALSO] Net::FTP#last_response

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

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

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

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][edit]

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

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

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

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

[PARAM] dirname:
作成するディレクトリ名を文字列で指定します。
[EXCEPTION] Net::FTPTempError:
応答コードが 4yz のときに発生します。
[EXCEPTION] Net::FTPPermError:
応答コードが 5yz のときに発生します。
[EXCEPTION] Net::FTPProtoError:
応答コードが RFC 的に正しくない場合に発生します。
[EXCEPTION] Net::FTPReplyError:
応答コードが上の場合以外で正しくない場合に発生します。
mlsd(pathname = nil) -> [Net::FTP::MLSxEntry][permalink][rdoc][edit]
mlsd(pathname = nil) {|entry| ... } -> ()

pathname で指定したディレクトリに含まれているファイルの詳細な情報を得ます。

ディレクトリの各ファイルの情報が Net::FTP::MLSxEntry のオブジェクトの配列として得られます。どのような情報を取り出せるかは Net::FTP::MLSxEntry を参照してください。 Net::FTP#list は結果が文字列で得られるため、それを適当に解釈する必要がありますが、このコマンドの結果は適切に解釈された結果を直接得ることができます。

pathname を省略した場合はカレントディレクトリを指定したことになります。

ブロックを渡した場合にはディレクトリの各ファイルごとにそのブロックを呼び出します。

FTP の MLST コマンド [RFC3659] を使います。FTPのLISTコマンドはその出力結果の標準化がなされていないため、標準的結果を得るコマンドとして MLST/MLSD が定義されました。

[PARAM] pathname:
情報を得るディレクトリ名

[SEE_ALSO] Net::FTP#mlst

require 'net/ftp'

Net::FTP.open("ftp.example.org") do |ftp|
  ftp.login("anonymous", "foobar@example.com")
  p ftp.mlsd("/")
  # =>
  #  [#<Net::FTP::MLSxEntry:0x00558fbfa379c0
  #    @facts=
  #    {"modify"=>2014-08-25 16:44:41 UTC,
  #    "perm"=>"fle",
  #    "type"=>"cdir",
  #    "unique"=>"801U1FE8E6",
  #    "unix.group"=>1042,
  #    "unix.mode"=>493,
  #    "unix.owner"=>106},
  #    @pathname => ".",
  #  #<Net::FTP::MLSxEntry:0x00558fbfa33e10
  #   @facts=
  #   {"modify"=>2004-12-22 08:56:36 UTC,
  #   "perm"=>"adfr",
  #   "size"=>1128,
  #   "type"=>"file",
  #   "unique"=>"801U1FEF97",
  #   "unix.group"=>0,
  #   "unix.mode"=>420,
  #   "unix.owner"=>106},
  #   @pathname="README.txt">,
  #      :
  #  ]
end
mlst(pathname = nil) -> Net::FTP::MLSxEntry[permalink][rdoc][edit]

pathname で指定したファイル/ディレクトリの詳細な情報を得ます。

Net::FTP::MLSxEntry のインスタンスに得られた情報が保持されます。どのような情報を取り出せるかは Net::FTP::MLSxEntry を参照してください。 Net::FTP#list は結果が文字列で得られるため、それを適当に解釈する必要がありますが、このコマンドの結果は適切に解釈された結果を直接得ることができます。

pathname を省略した場合はカレントディレクトリを指定したことになります。

FTP の MLST コマンド [RFC3659] を使います。

[PARAM] pathname:
情報を得るファイルパス

[SEE_ALSO] Net::FTP#mlsd

mtime(filename, local = false) -> Time[permalink][rdoc][edit]

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][edit]

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][edit]

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

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

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

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

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

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

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

open_timeout=(seconds)[permalink][rdoc][edit]

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

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

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

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

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

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

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

passive -> bool[permalink][rdoc][edit]

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

デフォルトは偽です。

[SEE_ALSO] Net::FTP#passive=

passive=(bool)[permalink][rdoc][edit]

passive モードを設定します。

[SEE_ALSO] Net::FTP#passive

put(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE) -> nil[permalink][rdoc][edit]
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][edit]
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][edit]
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][edit]

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

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

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

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

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

read_timeout=(seconds)[permalink][rdoc][edit]

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

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

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

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

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

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

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

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

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

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

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

デフォルトは false です。

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

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

[SEE_ALSO] Net::FTP#resume=

resume=(boolean)[permalink][rdoc][edit]

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

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

[SEE_ALSO] Net::FTP#resume

retrbinary(cmd, blocksize, rest_offset = nil) -> nil[permalink][rdoc][edit]
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][edit]

サーバーに 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][edit]

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

"\n" を返します。

return_code=(string)[permalink][rdoc][edit]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

現在の状態を返します。

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

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

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

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

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

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

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

定数

DEFAULT_BLOCKSIZE -> Integer[permalink][rdoc][edit]

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

FTP_PORT -> Integer[permalink][rdoc][edit]

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