FTPする。

2017/11/25

RubyでFTPを実行するサンプルコード

require net/ftp

ftp = Net::FTP.open(ftp.ibiblio.org) do |ftp|
	#サーバーにログインするためのメソッド
	ftp.login
	#FTPサーバのディレクトリを変更する
	ftp.chdir(pub/linux)
	#lsと同じ
	ftp.list(*Linux*) { |file| puts file }
	puts
	
	puts Saving a text file to disk while processing it.
	#テキストファイルを取得する
	ftp.gettextfile(How-do-I-get-Linux) { |line| puts "! #{line}" }
	puts "Saved #{File.size How-do-I-get-Linux} bytes."
	puts
	
	puts Saving a binary file to disk.
	#バイナリファイルを取得する
	ftp.getbinaryfile(INDEX.whole.gz)
	puts "Saved #{File.size INDEX.whole.gz} bytes."
end

ftp.loginは、

ftp.login(user,pass)

のようにユーザーとパスワードを指定できる。

chdirメソッド:ディレクトリを移動する。
listメソッド:ディレクトリ構造を参照する。

FTPの「GET」に相当するのが、
gettextfile
getbinaryfileメソッド

gettextfileメソッドはダウンロード時にプラットフォーム固有の改行フォーマットを変換する。

FTPの「PUT」に相当するのが
puttextfile
putbinaryfileメソッド


現在は、ファイルのコピーにはSCP、ファイルの配布にはWeb、大容量ファイルの配信にはBitTorrentが使用されている場合が多い。<参考>

Rubyクックブック ―エキスパートのための応用レシピ集

Rubyクックブック ―エキスパートのための応用レシピ集

  • 作者: Lucas Carlson,Leonard Richardson,株式会社クイープ
  • 出版社/メーカー: オライリー・ジャパン
  • 発売日: 2007/04/27
  • メディア: 大型本
  • 購入: 1人 クリック: 73回
  • この商品を含むブログ (55件) を見る