Rubyのnet/ftpライブラリの使い方【初心者向け】
初心者向けにRubyのnet/ftpライブラリの使い方について解説しています。このライブラリはFTPプロトコルを扱う際に利用されるものです。導入の手順と実際の使用例を見ていきましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Rubyのnet/ftpライブラリの使い方について解説します。
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。
今回は、Rubyに関する内容だね!
どういう内容でしょうか?
net/ftpライブラリの使い方について詳しく説明していくね!
お願いします!
net/ftpライブラリとは
net/ftpはRubyでFTPプロトコルを扱うためのライブラリです。
FTPサイトにアクセスし、フォルダを閲覧したり、ファイルをダウンロードしたりできます。
net/ftpライブラリの使い方
はじめにnet/ftpパッケージを読み込みます。
その後、Net::FTP.newコンストラクタで、インスタンスを作成し、各種処理を行います。
詳細は公式の文書を参照してください。
require 'net/ftp' ftp = Net::FTP.new('ftp.example.org') # 以降、ftpオブジェクトを用いて各種操作をする
実際に書いてみよう
サンプルコード
require 'net/ftp' FTP_HOST = 'ftp.dnsbalance.ring.gr.jp' DIRECTORY = '/pub/lang/ruby/2.6/' FILE = 'ruby-2.6.0-preview1.zip' ftp = Net::FTP.new(FTP_HOST) ftp.login ftp.passive = true ftp.chdir(DIRECTORY) puts ftp.list('ruby*') ftp.getbinaryfile(FILE) ftp.close
実行結果
-r--r--r-- 1 1005 1005 14104578 Feb 25 2018 ruby-2.6.0-preview1.tar.bz2 -r--r--r-- 1 1005 1005 16082501 Feb 25 2018 ruby-2.6.0-preview1.tar.gz -r--r--r-- 1 1005 1005 11423984 Feb 25 2018 ruby-2.6.0-preview1.tar.xz -r--r--r-- 1 1005 1005 19807007 Feb 25 2018 ruby-2.6.0-preview1.zip -r--r--r-- 1 1005 1005 14209461 Jun 1 20:33 ruby-2.6.0-preview2.tar.bz2 -r--r--r-- 1 1005 1005 16170732 Jun 1 20:33 ruby-2.6.0-preview2.tar.gz -r--r--r-- 1 1005 1005 11525372 Jun 1 20:33 ruby-2.6.0-preview2.tar.xz -r--r--r-- 1 1005 1005 19850776 Jun 1 20:33 ruby-2.6.0-preview2.zip
解説
1行目でnet/ftpパッケージを読み込んでいます。
3-5行目で定数を宣言しました。
7行目でFTPインスタンスを作成しています。
8行目でFTPサイトにログイン、9行目でパッシブモードを指定しました。
10行目でフォルダを移動しました。
11行目で名前が”ruby”ではじまるファイル一覧を取得し表示ています。
12行目でファイルを指定し、ダウンロードし、13行目でFTP接続を閉じました。
監修してくれたメンター
橋本紘希
システムインテグレータ企業勤務のシステムエンジニア。 開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。